Meshtastic-Apple/Meshtastic/Extensions
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
..
CoreData Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Protobufs Extract the generated protobufs into its own Swift package 2024-06-28 11:11:01 -05:00
Bundle.swift 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
Character.swift Map settings cleanup 2023-04-25 17:56:57 -07:00
CLLocationCoordinate2D.swift 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
Color.swift Adopt OSLog for logging and replace the majority of calls to print() 2024-06-01 11:30:29 -05:00
Data.swift Map settings cleanup 2023-04-25 17:56:57 -07:00
Date.swift 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
Double.swift Lint 2023-08-26 23:17:30 -07:00
FileManager.swift Logging and linting 2024-06-23 16:11:02 -07:00
Float.swift Make temp have no decimal places 2024-02-17 20:26:09 -08:00
Int.swift Update client proxy logging 2024-06-23 08:06:59 -07:00
Logger.swift Better emoji for dark mode 2024-06-23 19:28:12 -07:00
Measurement.swift 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
String.swift Node distance filter for the mesh map 2024-03-24 22:23:55 -07:00
TimeZone.swift Timezone 2024-04-08 11:41:54 -07:00
UIColor.swift 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
UIImage.swift Map settings cleanup 2023-04-25 17:56:57 -07:00
Url.swift Logging and linting 2024-06-23 16:11:02 -07:00
UserDefaults.swift 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