meshtastic/Meshtastic-Apple

Apple iOS, iPadOS, macOS, watchOS and visionOS Clients For Meshtastic

Swift

949

5,318 commits

updated Oct 19, 2026

See the code

README

Meshtastic Apple

iOS · iPadOS · macOS · watchOS · visionOS
Open-source LoRa mesh networking for Apple platforms

Docs CI License: GPL v3 Swift 6 Platforms

User Guide • Developer Guide • Getting Started • License


Overview

SwiftUI client applications for iOS, iPadOS, macOS, visionOS and watchOS that communicate with Meshtastic LoRa mesh radio devices over Bluetooth, TCP, and serial.

Key Features

  • Mesh messaging — channel and direct messages over LoRa, with CarPlay and Siri support for hands-free use while driving
  • Live map — node positions, waypoints, and GeoJSON overlays with offline tile support
  • Node management — signal meter, device roles, encryption status, trace routes, and telemetry
  • Full radio configuration — LoRa, channels, security, Bluetooth, device, display, network, position, power, and all module configs
  • Apple Watch companion — node list and fox hunt compass on your wrist
  • TAK integration — CoT position relay and TAK server connectivity
  • In-app documentation — full offline help browser with dark-mode support and AI-powered search (iOS 26+)

What's New

For Users

  • May 2026 — Docs Translation Pipeline — Community-sourced translations: each device contributes on-device translations that are shared via a CDN feed so future users get instant localized docs.
  • May 2026 — Automatic Docs Translation — On iOS 26+, in-app documentation is automatically translated into your device language using the Apple Translation framework.
  • May 2026 — Message Formatting Toolbar — Markdown formatting toolbar in the message compose UI (iOS 18+/macOS 15+). Apply bold, italic, strikethrough, code, and links with one tap; live preview shows rendered output before sending.
  • May 2026 — Node List Layout — Switchable Complete and Compact density modes for the node list. Compact mode reduces row height for large meshes (100+ nodes) with configurable detail toggles.
  • May 2026 — Signal Meter — New deep-dive page explaining how the LoRa signal quality meter works, why negative SNR values are normal, and how to interpret RSSI vs. SNR for your mesh.
  • May 2026 — Apple Watch App — New page covering the companion watch app: node list, fox hunt compass, and how it syncs with your iPhone.
  • Apr 2026 — Local Mesh Discovery — A diagnostic tool that cycles through multiple LoRa modem presets to audit the local RF environment, collecting nodes and telemetry across presets with configurable dwell times.

For Developers

  • May 2026 — Testing — Snapshot test conventions established: consolidated multi-state views into single combined images (light + dark pairs), use assertViewSnapshot helper with explicit width/height and transparent: true for icon snapshots.
  • May 2026 — Architecture — In-app documentation system added: markdown source under docs/ is converted to HTML by scripts/build-docs.sh and bundled at Meshtastic/Resources/docs/. Navigation is driven by index.json.
  • May 2026 — App Docs (Jekyll + In-App) — Full offline documentation system: markdown source under docs/, GitHub Pages Jekyll site, in-app WKWebView browser with dark-mode support, and AI-powered search via Foundation Models (iOS 26+).

Getting Started

  1. Clone the repo.
    git clone [email protected]: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.

Meshtastic.xcodeproj is generated from project.yml by XcodeGen, but it is committed to the repository — the steps above need no extra tooling. You only need XcodeGen if you change targets, build settings or dependencies; then edit project.yml, regenerate with the version pinned in .xcodegen-version, and commit the result (see CONTRIBUTING.md). Adding, moving or deleting source files needs neither.

See docs/developer/contributing.md for code style, branch naming, PR checklist, and all other contribution guidelines.

Documentation

ResourceLink
User Guidehttps://meshtastic.github.io/Meshtastic-Apple/
Developer Guidehttps://meshtastic.github.io/Meshtastic-Apple/developer.html
In-appSettings → Help & Documentation

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.


meshtastic.org · GitHub @meshtastic

meshtastic/Meshtastic-Apple

Apple iOS, iPadOS, macOS, watchOS and visionOS Clients For Meshtastic

Swift

949

5,318 commits

updated Oct 19, 2026

See the code

README

Meshtastic Apple

iOS · iPadOS · macOS · watchOS · visionOS
Open-source LoRa mesh networking for Apple platforms

Docs CI License: GPL v3 Swift 6 Platforms

User Guide • Developer Guide • Getting Started • License


Overview

SwiftUI client applications for iOS, iPadOS, macOS, visionOS and watchOS that communicate with Meshtastic LoRa mesh radio devices over Bluetooth, TCP, and serial.

Key Features

  • Mesh messaging — channel and direct messages over LoRa, with CarPlay and Siri support for hands-free use while driving
  • Live map — node positions, waypoints, and GeoJSON overlays with offline tile support
  • Node management — signal meter, device roles, encryption status, trace routes, and telemetry
  • Full radio configuration — LoRa, channels, security, Bluetooth, device, display, network, position, power, and all module configs
  • Apple Watch companion — node list and fox hunt compass on your wrist
  • TAK integration — CoT position relay and TAK server connectivity
  • In-app documentation — full offline help browser with dark-mode support and AI-powered search (iOS 26+)

What's New

For Users

  • May 2026 — Docs Translation Pipeline — Community-sourced translations: each device contributes on-device translations that are shared via a CDN feed so future users get instant localized docs.
  • May 2026 — Automatic Docs Translation — On iOS 26+, in-app documentation is automatically translated into your device language using the Apple Translation framework.
  • May 2026 — Message Formatting Toolbar — Markdown formatting toolbar in the message compose UI (iOS 18+/macOS 15+). Apply bold, italic, strikethrough, code, and links with one tap; live preview shows rendered output before sending.
  • May 2026 — Node List Layout — Switchable Complete and Compact density modes for the node list. Compact mode reduces row height for large meshes (100+ nodes) with configurable detail toggles.
  • May 2026 — Signal Meter — New deep-dive page explaining how the LoRa signal quality meter works, why negative SNR values are normal, and how to interpret RSSI vs. SNR for your mesh.
  • May 2026 — Apple Watch App — New page covering the companion watch app: node list, fox hunt compass, and how it syncs with your iPhone.
  • Apr 2026 — Local Mesh Discovery — A diagnostic tool that cycles through multiple LoRa modem presets to audit the local RF environment, collecting nodes and telemetry across presets with configurable dwell times.

For Developers

  • May 2026 — Testing — Snapshot test conventions established: consolidated multi-state views into single combined images (light + dark pairs), use assertViewSnapshot helper with explicit width/height and transparent: true for icon snapshots.
  • May 2026 — Architecture — In-app documentation system added: markdown source under docs/ is converted to HTML by scripts/build-docs.sh and bundled at Meshtastic/Resources/docs/. Navigation is driven by index.json.
  • May 2026 — App Docs (Jekyll + In-App) — Full offline documentation system: markdown source under docs/, GitHub Pages Jekyll site, in-app WKWebView browser with dark-mode support, and AI-powered search via Foundation Models (iOS 26+).

Getting Started

  1. Clone the repo.
    git clone [email protected]: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.

Meshtastic.xcodeproj is generated from project.yml by XcodeGen, but it is committed to the repository — the steps above need no extra tooling. You only need XcodeGen if you change targets, build settings or dependencies; then edit project.yml, regenerate with the version pinned in .xcodegen-version, and commit the result (see CONTRIBUTING.md). Adding, moving or deleting source files needs neither.

See docs/developer/contributing.md for code style, branch naming, PR checklist, and all other contribution guidelines.

Documentation

ResourceLink
User Guidehttps://meshtastic.github.io/Meshtastic-Apple/
Developer Guidehttps://meshtastic.github.io/Meshtastic-Apple/developer.html
In-appSettings → Help & Documentation

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.


meshtastic.org · GitHub @meshtastic

Significant stargazers

Petr Korolev

539 followers · starred Nov 2025

Kilian Koeltzsch

388 followers · starred Dec 2025

Jean-Louis Huynen

144 followers · starred Jun 2025

Jared Flatow

121 followers · starred Jul 2026