Apple iOS, iPadOS & macOS Clients For Meshtastic
  • Swift 93.1%
  • HTML 3.5%
  • Shell 2.2%
  • Python 0.8%
  • PowerShell 0.3%
  • Other 0.1%
Find a file
2026-10-05 08:50:04 -07: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 Let Claude Code find the design-audit skill (#2540) 2026-10-03 20:47:15 -07:00
.github Derive the snapshot suite list instead of pinning its count (#2509) 2026-09-18 14:09:30 -07:00
.skills/design-audit Let Claude Code find the design-audit skill (#2540) 2026-10-03 20:47:15 -07:00
.specify fix: point the design standards links at the standards index (#2496) 2026-09-15 04:51:43 -07:00
.standards chore: update design standards from source of truth (#2554) 2026-09-27 19:23:54 -07:00
.vscode Reduce nested NavigationStacks in filter sheets (#1882) 2026-05-23 17:51:05 -07:00
ci_scripts Let the TestFlight notes see squashed pull requests (#2523) 2026-09-19 18:54:54 -07:00
docs Mark nodes the radio has not heard on its current LoRa settings (#2575) 2026-10-04 07:39:49 -07:00
itak-example-data-package 2.7.8 Working Changes (#1589) 2026-02-13 16:06:29 -08:00
Meshtastic Ask for the config when iOS restores a connected Bluetooth radio (#2584) 2026-10-05 08:50:04 -07:00
Meshtastic TV Mirror the new firmware editions into the TV edition shim 2026-08-30 19:13:23 -07:00
Meshtastic Watch App Revert "Merge pull request #2359 from rancur/feat/watch-notification-settings" 2026-08-29 15:05:10 -07:00
Meshtastic.xcodeproj Put transmit power back on the LoRa screen (#2571) 2026-10-03 16:28:12 -07:00
Meshtastic.xcworkspace fix(tak): update TAKPacket SDK to 0.9.1 (#2349) 2026-08-21 16:20:11 -05:00
MeshtasticMessages Add iMessage contact and channel sharing (#2340) 2026-09-13 10:05:06 -07:00
MeshtasticProtobufs Bump the protobufs and hold the beacon message to 60 bytes (#2551) 2026-09-26 19:56:19 -07:00
MeshtasticTests Don't offer Lite, Narrow or Tiny outside their regions when the radio sent no preset map (#2583) 2026-10-05 08:49:31 -07:00
MeshtasticTVUITests Fix tvOS accessibility 2026-08-16 21:01:33 -07:00
protobufs@ad0bf31e82 Bump the protobufs and hold the beacon message to 60 bytes (#2551) 2026-09-26 19:56:19 -07:00
research Test shipped SwiftData schema history (#2423) 2026-09-05 20:11:38 -07:00
scripts Drive External Notification, Serial and Neighbor Info from the protobuf schema (#2505) 2026-09-18 11:54:33 -07:00
Settings.bundle Fold tapback alerts into the message notification settings 2026-08-30 11:45:38 -07:00
Shared Add iMessage contact and channel sharing (#2340) 2026-09-13 10:05:06 -07:00
specs Update the settings-search spec to what shipped (#2531) 2026-09-20 17:26:03 -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 Drive External Notification, Serial and Neighbor Info from the protobuf schema (#2505) 2026-09-18 11:54:33 -07:00
.gitmodules Add back submodule 2024-05-01 19:55:39 -07:00
.swiftlint-precommit.yml Drive External Notification, Serial and Neighbor Info from the protobuf schema (#2505) 2026-09-18 11:54:33 -07:00
.swiftlint.yml Drive External Notification, Serial and Neighbor Info from the protobuf schema (#2505) 2026-09-18 11:54:33 -07:00
.xcodegen-version ci: pin the XcodeGen version exactly 2026-07-22 13:19:50 +03:00
CLAUDE.md Remove the share button from the node list toolbar 2026-09-05 09:03:26 -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 Hide the unheard notice while a LoRa change is still settling (#2581) 2026-10-05 08:44:23 -07: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 Put transmit power back on the LoRa screen (#2571) 2026-10-03 16:28:12 -07: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
Simulator Screenshot - MeshTV Test - 2026-08-15 at 20.26.28.png beacon cleanup: node-region only, filtered presets, interval picker 2026-08-27 20:00:37 -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 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 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