Apple iOS, iPadOS & macOS Clients For Meshtastic
  • Swift 93.5%
  • HTML 3.9%
  • Shell 2%
  • PowerShell 0.3%
  • Python 0.2%
  • Other 0.1%
Find a file
2026-08-21 16:20:11 -05:00
.agents/skills/ios-marketing-capture Local Mesh Discovery UX + Mesh Beacons (join, Nearby Meshes, config) — 2.7.17 (#2035) 2026-07-06 09:45:55 -07:00
.claude/skills Local Mesh Discovery UX + Mesh Beacons (join, Nearby Meshes, config) — 2.7.17 (#2035) 2026-07-06 09:45:55 -07:00
.github ci: run the unit test suite, and fix the three bugs it was hiding 2026-08-18 22:12:44 -07:00
.skills/design-audit Add GitHub Action to sync design standards and design-audit skill (#1718) 2026-05-16 18:35:35 -07:00
.specify feat: lockdown mode — spec + protobufs bump + coordinator foundation (#1779) 2026-07-02 23:29:24 -07:00
.standards Add GitHub Action to sync design standards and design-audit skill (#1718) 2026-05-16 18:35:35 -07:00
.vscode Reduce nested NavigationStacks in filter sheets (#1882) 2026-05-23 17:51:05 -07:00
ci_scripts feat(ci): generate TestFlight What to Test from merged PR titles 2026-08-14 19:44:21 -07:00
docs docs+tests: correct the frequency-precision claims 2026-08-18 20:40:23 -07:00
itak-example-data-package 2.7.8 Working Changes (#1589) 2026-02-13 16:06:29 -08:00
Meshtastic fix(nodes): stop the node list crashing on nodes deleted behind its snapshot 2026-08-19 14:52:51 -07:00
Meshtastic TV Merge pull request #2325 from meshtastic/feat/tvos-minimal-clustering 2026-08-19 20:23:31 -07:00
Meshtastic Watch App a11y: fix Watch app's isWatchLight to use WCAG relative luminance too 2026-07-22 22:54:59 -05:00
Meshtastic.xcodeproj fix(tak): update TAKPacket SDK to 0.9.1 (#2349) 2026-08-21 16:20:11 -05:00
Meshtastic.xcworkspace fix(tak): update TAKPacket SDK to 0.9.1 (#2349) 2026-08-21 16:20:11 -05:00
MeshtasticProtobufs chore(protobufs): update to upstream 6ceceae and mirror FAB edition 2026-08-02 07:43:38 -05:00
MeshtasticTests test(ble): stop the BLE status tests racing real Bluetooth hardware 2026-08-18 23:03:56 -07:00
MeshtasticTVUITests Fix tvOS accessibility 2026-08-16 21:01:33 -07:00
protobufs@6ceceae4b1 chore(protobufs): update to upstream 6ceceae and mirror FAB edition 2026-08-02 07:43:38 -05:00
scripts Merge pull request #2227 from bruschill/fix/snapshot-test-churn 2026-08-12 19:36:33 -07:00
Settings.bundle Add Ukrainian localization (#2064) 2026-07-15 21:53:04 -07:00
Shared fix(widget): respect custom number format in Live Activity 2026-08-14 13:51:46 -05:00
specs docs(specs): analyze remediations — key naming, interval table, toggle gating 2026-08-15 21:12:09 -07:00
Widgets fix(widget): respect custom number format in Live Activity 2026-08-14 13:51:46 -05:00
.coderabbit.yaml fix: directory path instructions need /** to match files 2026-08-15 10:59:22 -07:00
.gitignore chore: remove accidentally-committed build logs 2026-07-20 08:21:38 -07:00
.gitmodules Add back submodule 2024-05-01 19:55:39 -07:00
.swiftlint-precommit.yml Transports Interface to Support TCP for all Platforms and Serial on Mac (#1341) 2025-08-27 08:09:02 -07:00
.swiftlint.yml chore(lint): exclude build/ from swiftlint 2026-07-30 20:02:49 -05:00
.xcodegen-version ci: pin the XcodeGen version exactly 2026-07-22 13:19:50 +03:00
CLAUDE.md docs: add writing style rule to CLAUDE.md — short, plain explanations 2026-08-13 22:56:28 -07:00
CONTRIBUTING.md ci: pin the XcodeGen version exactly 2026-07-22 13:19:50 +03:00
LICENSE Create LICENSE 2022-01-24 04:53:59 -08:00
Localizable.xcstrings Fix tvOS stats theme and localization 2026-08-16 18:12:35 -05:00
meshtastic-1080x1080.png Update readme 2022-11-19 11:12:40 -08:00
pr-description.md Docs pre-release cleanup + fix documentation translation pipeline (#1963) 2026-06-18 23:38:29 -07:00
project.yml fix(tak): update TAKPacket SDK to 0.9.1 (#2349) 2026-08-21 16:20:11 -05:00
README.md ci: pin the XcodeGen version exactly 2026-07-22 13:19:50 +03:00
RELEASING.md Docs pre-release cleanup + fix documentation translation pipeline (#1963) 2026-06-18 23:38:29 -07:00
skills-lock.json Local Mesh Discovery UX + Mesh Beacons (join, Nearby Meshes, config) — 2.7.17 (#2035) 2026-07-06 09:45:55 -07:00

Meshtastic Apple

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

Docs CI License: GPL v3 Swift 6 Platforms

User GuideDeveloper GuideGetting StartedLicense


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 2026Docs 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 2026Automatic Docs Translation — On iOS 26+, in-app documentation is automatically translated into your device language using the Apple Translation framework.
  • May 2026Message 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 2026Node 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 2026Signal 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 2026Apple Watch App — New page covering the companion watch app: node list, fox hunt compass, and how it syncs with your iPhone.
  • Apr 2026Local 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 2026Testing — 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 2026Architecture — 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 2026App 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 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.

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

Resource Link
User Guide https://meshtastic.github.io/Meshtastic-Apple/
Developer Guide https://meshtastic.github.io/Meshtastic-Apple/developer.html
In-app Settings → 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