Apple iOS, iPadOS & macOS Clients For Meshtastic
Find a file
Copilot bac376edcb
Implement map legend overlay (#1653)
* Add map legend feature (issue #924)

Implement a map legend overlay accessible from both the mesh map and node
detail map views. The legend explains all visual map elements including:
- Online/offline node markers with pulsing animation
- Detection sensor nodes
- Waypoints
- Position precision circles
- Position history points and heading arrows
- Route start/end markers and route lines
- Convex hull mesh coverage outline

A new "map" button is added to the floating control buttons on both map
views, opening the legend as a sheet.

Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/23f75e1e-549b-46a1-84c9-fb0a6375dcd9

Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com>

* Improve legend descriptions for online/offline nodes

Agent-Logs-Url: https://github.com/meshtastic/Meshtastic-Apple/sessions/23f75e1e-549b-46a1-84c9-fb0a6375dcd9

Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com>

* map button glass and cleanup

* Update Meshtastic/Views/Nodes/Helpers/Map/MapLegend.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update incorect online timeframe

* Update Meshtastic/Views/Nodes/MeshMap.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update Meshtastic/Views/Nodes/Helpers/Map/NodeMapSwiftUI.swift

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* translation file

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com>
Co-authored-by: Garth Vander Houwen <garthvh@yahoo.com>
Co-authored-by: Garth Vander Houwen <garth@meshtastic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:40:54 -07:00
.github us5 2025-07-30 13:53:46 -05:00
ci_scripts update prebuild paths 2025-02-07 09:20:51 -08:00
itak-example-data-package 2.7.8 Working Changes (#1589) 2026-02-13 16:06:29 -08:00
Meshtastic Implement map legend overlay (#1653) 2026-04-05 14:40:54 -07:00
Meshtastic.xcodeproj Implement map legend overlay (#1653) 2026-04-05 14:40:54 -07:00
Meshtastic.xcworkspace 2.7.6 Working Changes (#1479) 2025-12-21 12:15:01 -08:00
MeshtasticProtobufs 2.7.8 Working Changes (#1589) 2026-02-13 16:06:29 -08:00
MeshtasticTests Add missing SwiftUI #Preview blocks across 65 views (#1649) 2026-04-04 18:02:32 -07:00
protobufs@c8d5047b63 2.7.7 Working Changes (#1551) 2026-01-15 14:13:40 -08:00
scripts Transports Interface to Support TCP for all Platforms and Serial on Mac (#1341) 2025-08-27 08:09:02 -07:00
Settings.bundle Add german translations (#1383) 2025-09-11 18:49:47 -07:00
Widgets Transports Interface to Support TCP for all Platforms and Serial on Mac (#1341) 2025-08-27 08:09:02 -07:00
.gitignore Update .gitignore 2025-03-28 14:02:41 -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 Transports Interface to Support TCP for all Platforms and Serial on Mac (#1341) 2025-08-27 08:09:02 -07:00
CONTRIBUTING.md Update references to GitLab to GitHub instead 2025-03-22 15:29:26 -04:00
LICENSE Create LICENSE 2022-01-24 04:53:59 -08:00
Localizable.xcstrings Implement map legend overlay (#1653) 2026-04-05 14:40:54 -07:00
meshtastic-1080x1080.png Update readme 2022-11-19 11:12:40 -08:00
README.md Improve formatting of Getting Started section in README 2025-03-22 15:29:26 -04:00
RELEASING.md Adding documentation describing how the project is managed, and adding a few scripts to assist with this 2024-07-09 19:01:32 -05:00

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.

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.