Meshtastic-Apple/README.md
Blake McAnally 0dedf94a98 General Project Cleanup
* Change SwiftLint from a "Run Script" build phase to a "Run Build Tool Plugins" build phase.
    * Developers no longer need to install and update SwiftLint manually. This can be useful when other projects are using different versions of SwiftLint.
    * [SwiftLint Docs](https://github.com/realm/SwiftLint?tab=readme-ov-file#xcode-projects)
    * [WWDC 22 - Meet Swift Package Plugins](https://developer.apple.com/videos/play/wwdc2022/110359/?time=162)
* Moved several scripts into a `.scripts` directory to keep the project root organized.
* Modified `.scripts/gen_protos.sh` to intelligently update git submodules and install `swift-protobuf` when it detects issues, reducing developer friction.
* Deleted the empty unit and UI testing targets. These can be added later as we write tests. someday 🙏
* Updated the README.md to reflect the above changes, and organized a few of the sections.
2024-06-03 19:58:18 -05:00

42 lines
846 B
Markdown

# Meshtastic Apple Clients
<a href="https://apple.co/3Auysep">
<img alt="Meshtastic App Store Launch Image" src="meshtastic-1080x1080.png" />
</a>
## Overview
SwiftUI client applications for iOS, iPadOS and macOS.
## OS Requirements
* iOS App Requires iOS 16 +
* iPadOS App Requires iPadOS 16 +
* Mac App Reguires macOS 13 +
## Code Standards
- Use SwiftUI (Maps are the exception)
- Use Hierarchical icons
- Use Core Data for persistence
- Requires SwiftLint - see https://github.com/realm/SwiftLint
## To update protobufs:
- install swift-protobuf:
```bash
brew install swift-protobuf
```
- check out the latest protobuf commit from the master branch
```bash
git submodule update --init
```
- run:
```bash
./gen_protos.sh
```
- build, test, commit changes
- You may need to run:
```bash
swiftlint --fix
```