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
* feat: add automated bug report analyzer GitHub Action Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/4db827aa-1b4c-4b6a-a820-3ecbd3908602 Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> * feat: add automated bug report analyzer GitHub Action Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/4db827aa-1b4c-4b6a-a820-3ecbd3908602 Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com> --------- 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.