Meshtastic-Apple/Meshtastic
Blake McAnally 58da532d32 Extract the generated protobufs into its own Swift package
This change modifies the process for generating and integrating the Meshtastic protobufs into the client application.

* The generated Swift code is now in a local SPM package `MeshtasticProtobufs`
* An Xcode Workspace file `Meshtastic.xcworkspace` was created to more easily manage the new build targets.
* The code generation script for the protos was modified to generate the Swift code into the new location.
* The README.md was updated to reflect these changes.

NOTE: After merging this PR, do not open the project file `Meshtastic.xcodeproj`. You must use the workspace `Meshtastic.xcworkspace`

Extracting out the generated protobuf code into its own library enables several opportunities for the project. This is just a first step, but with some more modularization, a standalone Apple Watch app or other targets starts to become a little bit more achievable to implement.

After extracting the protobufs into a Swift package, I validate these changes by building and running the Meshtastic app to an iPhone 15 Pro Max, and tried changing some settings on a local node. I then messaged back and forth using two local nodes connected to two different iOS devices.
2024-06-28 11:11:01 -05:00
..
Assets.xcassets Handle nil nodeinfo better 2024-05-04 20:59:16 -07:00
Enums Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Export OS Log Viewer, device serial log over BLE 2024-06-23 07:09:14 -07:00
Extensions Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Helpers Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Meshtastic.xcdatamodeld Add device logging config, update protobufs 2024-06-23 07:36:03 -07:00
Model Unread direct messages indicator 2023-09-03 09:04:07 -07:00
Persistence Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Preview Content/Preview Assets.xcassets Rename Project to satisfy app review 2022-06-24 08:00:18 -07:00
Resources Device hardware updates 2024-04-09 13:13:53 -07:00
Tips This change fixes several lint errors throughout the project, and moves the SwiftLint build phase to before compilation. 2024-05-31 21:48:50 -05:00
Views Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Info.plist Try and use old version 2024-06-23 18:43:43 -07:00
Meshtastic.entitlements Remove spaces from saved RTTL value 2024-01-19 10:56:57 -08:00
MeshtasticApp.swift More logs cleanup 2024-06-24 06:31:45 -07:00
MeshtasticAppDelegate.swift Logging and linting 2024-06-23 16:11:02 -07:00
RELEASENOTES.md Rename Project to satisfy app review 2022-06-24 08:00:18 -07:00