finds.dev← search

// the find

meshtastic/Meshtastic-Apple

★ 937 · Swift · GPL-3.0 · updated Oct 2026

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

The official SwiftUI client for Meshtastic LoRa mesh radios across iOS, iPadOS, macOS, watchOS and visionOS, with a TV target in the tree as well. It talks to devices over Bluetooth LE, TCP and serial, so it suits people who already run Meshtastic hardware and want a native Apple app for messaging, the live map and radio configuration.

The accessory code separates protocols (Connection, Device, Transport) from per-transport folders for BLE, serial and TCP, so a new transport should not require touching the manager. Helpers like AsyncGate and ResettableTimer suggest the authors thought about serializing BLE writes and reconnect timing instead of leaving it to chance. The CI is stronger than most hobby projects: SwiftLint runs, unit tests run, and separate workflows fail when the generated Xcode project or the settings catalogue drifts from its source. The in-app help is plain markdown compiled to HTML and bundled offline, which avoids depending on a live site for the docs a user needs while out in the field.

The README front page carries a month-by-month What's New changelog that will be stale within a release or two, and the real history belongs in GitHub releases. The generated Meshtastic.xcodeproj is committed, so every target or build setting change produces a large pbxproj diff, and contributors who touch project structure must install the pinned XcodeGen version first. The headline AI-powered docs search depends on Foundation Models, so it is absent on any device still below iOS 26. The GPL v3 licence means you cannot fold this code into a closed-source product, and the README never says which transports work on which platforms, so you find out by trying.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →