Skip to content

meshtastic/Meshtastic-Apple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,832 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meshtastic Apple Clients

Overview

SwiftUI client applications for iOS, iPadOS and macOS.

Getting Started

This project always uses the latest release version of XCode.

  1. Clone the repo.
    git clone git@github.com:meshtastic/Meshtastic-Apple.git
  2. Open the local directory.
    cd Meshtastic-Apple
  3. Set up git hooks to automatically lint the project when you commit changes.
    ./scripts/setup-hooks.sh
  4. Open Meshtastic.xcworkspace
    open Meshtastic.xcworkspace
  5. Build and run the Meshtastic target.

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:

  1. run
./scripts/gen_protos.sh
  1. 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.

About

Apple iOS, iPadOS & macOS Clients For Meshtastic

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors