mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Apple iOS, iPadOS & macOS Clients For Meshtastic
The flag '--enable-icon-stack-fallback-generation=disabled' is not recognized by actool on Xcode 16.x, causing every run of the 'Upload dSYM Files' workflow to fail at the build step with exit code 65. Remove it from both the Debug and Release build configurations. Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/fa589034-4017-44ea-9130-123a396d2abd Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| ci_scripts | ||
| itak-example-data-package | ||
| Meshtastic | ||
| Meshtastic.xcodeproj | ||
| Meshtastic.xcworkspace | ||
| MeshtasticProtobufs | ||
| MeshtasticTests | ||
| protobufs@c8d5047b63 | ||
| scripts | ||
| Settings.bundle | ||
| Widgets | ||
| .gitignore | ||
| .gitmodules | ||
| .swiftlint-precommit.yml | ||
| .swiftlint.yml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Localizable.xcstrings | ||
| meshtastic-1080x1080.png | ||
| README.md | ||
| RELEASING.md | ||
Meshtastic Apple Clients
Overview
SwiftUI client applications for iOS, iPadOS and macOS.
Getting Started
This project always uses the latest release version of XCode.
- Clone the repo.
git clone git@github.com:meshtastic/Meshtastic-Apple.git - Open the local directory.
cd Meshtastic-Apple - Set up git hooks to automatically lint the project when you commit changes.
./scripts/setup-hooks.sh - Open
Meshtastic.xcworkspaceopen Meshtastic.xcworkspace - Build and run the
Meshtastictarget.
Technical Standards
Supported Operating Systems
The last two major operating system versions are supported on iOS, iPadOS and macOS.
Code Standards
- Use SwiftUI
- Use SFSymbols for icons
- Use Core Data for persistence
Updating Protobufs:
- run
./scripts/gen_protos.sh
- Build, test, and commit the changes.
Deep Links
The app supports deep links using the meshtastic:/// URL scheme, for use with shortcuts, intents, and web pages.
Messages
| URL | Description |
|---|---|
meshtastic:///messages |
Messages tab |
meshtastic:///messages?channelId={channelId}&messageId={messageId} |
Channel messages (messageId is optional) |
meshtastic:///messages?userNum={userNum}&messageId={messageId} |
Direct messages (messageId is optional) |
Connect
| URL | Description |
|---|---|
meshtastic:///connect |
Connect tab |
Nodes
| URL | Description |
|---|---|
meshtastic:///nodes |
Nodes tab |
meshtastic:///nodes?nodenum={nodenum} |
Selected node |
Mesh Map
| URL | Description |
|---|---|
meshtastic:///map |
Map tab |
meshtastic:///map?nodenum={nodenum} |
Node on map |
meshtastic:///map?waypointId={waypointId} |
Waypoint on map |
Settings
Each settings item has an associated deep link. No parameters are supported for settings URLs.
| URL | Description |
|---|---|
meshtastic:///settings/about |
About Meshtastic |
meshtastic:///settings/appSettings |
App Settings |
meshtastic:///settings/routes |
Routes |
meshtastic:///settings/routeRecorder |
Route Recorder |
| Radio Config | |
meshtastic:///settings/lora |
LoRa Config |
meshtastic:///settings/channels |
Channels |
meshtastic:///settings/security |
Security Config |
meshtastic:///settings/shareQRCode |
Share QR Code |
| Device Config | |
meshtastic:///settings/user |
User Config |
meshtastic:///settings/bluetooth |
Bluetooth Config |
meshtastic:///settings/device |
Device Config |
meshtastic:///settings/display |
Display Config |
meshtastic:///settings/network |
Network Config |
meshtastic:///settings/position |
Position Config |
meshtastic:///settings/power |
Power Config |
| Module Config | |
meshtastic:///settings/ambientLighting |
Ambient Lighting |
meshtastic:///settings/cannedMessages |
Canned Messages |
meshtastic:///settings/detectionSensor |
Detection Sensor |
meshtastic:///settings/externalNotification |
External Notification |
meshtastic:///settings/mqtt |
MQTT |
meshtastic:///settings/paxCounter |
Pax Counter |
meshtastic:///settings/rangeTest |
Range Test |
meshtastic:///settings/ringtone |
Ringtone |
meshtastic:///settings/serial |
Serial |
meshtastic:///settings/storeAndForward |
Store & Forward |
meshtastic:///settings/telemetry |
Telemetry |
| TAK | |
meshtastic:///settings/tak |
TAK Config |
| Logging | |
meshtastic:///settings/debugLogs |
Debug Logs |
| Developers | |
meshtastic:///settings/appFiles |
App Files |
meshtastic:///settings/firmwareUpdates |
Firmware Updates |
Release Process
For more information on how a new release of Meshtastic is managed, please refer to RELEASING.md
License
This project is licensed under the GPL v3. See the LICENSE file for details.