Create a small native macOS application that can remain available from the menu bar without a permanent main window.
Scope
Use an Xcode project, Swift 6 language mode, SwiftUI and AppKit where needed; target macOS 15.0 and arm64, starting with M1.
Public name: Traccar Client for macOS. Product: Traccar Client macOS.app. Bundle identifier: com.codigojose.traccar-client-macos.
Use the installed stable Xcode 27.1 baseline. Keep build products, controlled caches and archives on the configured external development volume; do not commit machine-specific absolute paths.
Start with ad hoc signing. Verify the menu-bar/agent lifecycle, including reliable Settings presentation. Separate location, transport, storage and state responsibilities without adding mobile SDKs.
Provide Start/Pause, Send location now, Send SOS, Settings and Quit entry points. Unimplemented actions must be disabled or clearly unavailable; never simulate success.
Acceptance criteria
The arm64 app builds with deployment target 15.0 and launches in a paused state.
A menu-bar item and Settings window work without a permanent Dock icon in the chosen agent configuration.
Closing Settings leaves the process running; Quit terminates it.
About identifies the app as an independent, unofficial client and displays the version and Apache-2.0 license information.
No launch-time request sends positions or contacts the configured demo receiver.
A custom application icon is designed, reviewed and integrated into the Xcode app assets, with the source artwork retained for future revisions.
Validation
Record Xcode/SDK versions, build invocation and a launch/Settings/Quit smoke check. Early CI is delivered by PROTO-002 immediately after this buildable shell. Initial application icon development is included in this issue: a high-resolution PNG concept combining the supplied Traccar client and Apple marks with green #2d7930, followed by SVG preparation and derived app assets after review. Later interface polish remains in PROTO-015; product maps remain outside the MVP.
Originally created by @jayanezj on GitHub (Oct 23, 2026).
Original GitHub issue: https://github.com/jayanezj/traccar-client-macos/issues/1
Originally assigned to: @jayanezj on GitHub.
## Goal
Create a small native macOS application that can remain available from the menu bar without a permanent main window.
## Scope
- Use an Xcode project, Swift 6 language mode, SwiftUI and AppKit where needed; target macOS 15.0 and arm64, starting with M1.
- Public name: **Traccar Client for macOS**. Product: **Traccar Client macOS.app**. Bundle identifier: `com.codigojose.traccar-client-macos`.
- Use the installed stable Xcode 27.1 baseline. Keep build products, controlled caches and archives on the configured external development volume; do not commit machine-specific absolute paths.
- Start with ad hoc signing. Verify the menu-bar/agent lifecycle, including reliable Settings presentation. Separate location, transport, storage and state responsibilities without adding mobile SDKs.
- Provide Start/Pause, Send location now, Send SOS, Settings and Quit entry points. Unimplemented actions must be disabled or clearly unavailable; never simulate success.
## Acceptance criteria
- [x] The arm64 app builds with deployment target 15.0 and launches in a paused state.
- [x] A menu-bar item and Settings window work without a permanent Dock icon in the chosen agent configuration.
- [x] Closing Settings leaves the process running; Quit terminates it.
- [x] About identifies the app as an independent, unofficial client and displays the version and Apache-2.0 license information.
- [x] No launch-time request sends positions or contacts the configured demo receiver.
- [x] A custom application icon is designed, reviewed and integrated into the Xcode app assets, with the source artwork retained for future revisions.
## Validation
Record Xcode/SDK versions, build invocation and a launch/Settings/Quit smoke check. Early CI is delivered by [PROTO-002](https://github.com/jayanezj/traccar-client-macos/issues/2) immediately after this buildable shell. Initial application icon development is included in this issue: a high-resolution PNG concept combining the supplied Traccar client and Apple marks with green `#2d7930`, followed by SVG preparation and derived app assets after review. Later interface polish remains in [PROTO-015](https://github.com/jayanezj/traccar-client-macos/issues/15); product maps remain outside the MVP.
<!-- planning-id: PROTO-001 -->
jayanezj
added this to the M1 - Foundation and CI milestone 2026-10-23 18:09:13 +02:00
Scope: native arm64/macOS 15 Xcode project, paused menu-bar shell, Settings/About/Quit, ad hoc signing and build/runtime smoke checks. Tracking, transport, persistent configuration and CI remain in their owning issues; unavailable actions will be disabled.
<!-- gh-comment-id:6357609105 -->
@jayanezj commented on GitHub (Oct 23, 2026):
Started issue #1, assigned to @jayanezj.
Scope: native arm64/macOS 15 Xcode project, paused menu-bar shell, Settings/About/Quit, ad hoc signing and build/runtime smoke checks. Tracking, transport, persistent configuration and CI remain in their owning issues; unavailable actions will be disabled.
Local implementation and validation completed for issue #1; changes remain uncommitted on issue/1-native-shell.
Implemented:
Native SwiftUI menu-bar app with Settings, About and Quit; LSUIElement agent configuration.
Paused shell with tracking/manual location/SOS actions disabled. No location acquisition or receiver transport is implemented or started.
Shared Xcode scheme, Debug/Release configurations, arm64/macOS 15.0, Swift 6, agreed product/bundle identity, ad hoc signing, Apache-2.0 license and repeatable external-output build script.
Validation:
Debug and Release both built successfully with Xcode 27.1 (27A9275), SDK macOS 27.0, on macOS 27.0.1 arm64.
Both app signatures passed strict verification; binary build metadata records arm64 and minimum macOS 15.0.
Plists, scheme XML, shell syntax and public-file review passed.
Manually confirmed paused status, disabled actions, Settings open/close/reopen, About version/license and Quit, and left the app closed. A subsequent process check confirmed termination.
All five acceptance checks are now marked. Runtime on macOS 15, DMG/Gatekeeper, tracking/transport and CI remain in their owning issues.
<!-- gh-comment-id:6357710212 -->
@jayanezj commented on GitHub (Oct 23, 2026):
Local implementation and validation completed for issue #1; changes remain uncommitted on `issue/1-native-shell`.
Implemented:
- Native SwiftUI menu-bar app with Settings, About and Quit; `LSUIElement` agent configuration.
- Paused shell with tracking/manual location/SOS actions disabled. No location acquisition or receiver transport is implemented or started.
- Shared Xcode scheme, Debug/Release configurations, arm64/macOS 15.0, Swift 6, agreed product/bundle identity, ad hoc signing, Apache-2.0 license and repeatable external-output build script.
Validation:
- Debug and Release both built successfully with Xcode 27.1 (27A9275), SDK macOS 27.0, on macOS 27.0.1 arm64.
- Both app signatures passed strict verification; binary build metadata records arm64 and minimum macOS 15.0.
- Plists, scheme XML, shell syntax and public-file review passed.
- Manually confirmed paused status, disabled actions, Settings open/close/reopen, About version/license and Quit, and left the app closed. A subsequent process check confirmed termination.
All five acceptance checks are now marked. Runtime on macOS 15, DMG/Gatekeeper, tracking/transport and CI remain in their owning issues.
Expanded the acceptance criteria to include the application icon. Prepared an initial 1254 × 1254 PNG with transparency, combining Apple silhouette and Traccar transmission motif with the traccar client green palette (#2d7930).
<!-- gh-comment-id:6357929742 -->
@jayanezj commented on GitHub (Oct 23, 2026):
Expanded the acceptance criteria to include the application icon. Prepared an initial 1254 × 1254 PNG with transparency, combining Apple silhouette and Traccar transmission motif with the traccar client green palette (`#2d7930`).
Integrated SVG-based application artwork and native Xcode asset catalogs.
Application icon: all ten macOS slots, from 16 to 1024 pixels, rendered directly from the vector source.
Menu-bar icon: monochrome template at 1× and 2×, with native light/dark appearance rendering.
Preserved the transparent Apple cutout inside the Traccar dish and set the integrated artwork to solid #2d7930.
Retained the editable SVG and added a repeatable asset-generation script. Xcode builds use the checked-in PNGs without additional dependencies.
Debug and Release builds passed. Both signatures passed strict verification. Verified PNG dimensions, exact green color, transparent cutout, bundled AppIcon.icns and the compiled menu-bar resource. Visual verification of the running Release build remains pending.
<!-- gh-comment-id:6358429530 -->
@jayanezj commented on GitHub (Oct 23, 2026):
Integrated SVG-based application artwork and native Xcode asset catalogs.
- Application icon: all ten macOS slots, from 16 to 1024 pixels, rendered directly from the vector source.
- Menu-bar icon: monochrome template at 1× and 2×, with native light/dark appearance rendering.
- Preserved the transparent Apple cutout inside the Traccar dish and set the integrated artwork to solid `#2d7930`.
- Retained the editable SVG and added a repeatable asset-generation script. Xcode builds use the checked-in PNGs without additional dependencies.
Debug and Release builds passed. Both signatures passed strict verification. Verified PNG dimensions, exact green color, transparent cutout, bundled `AppIcon.icns` and the compiled menu-bar resource. Visual verification of the running Release build remains pending.
Manually verified the integrated application icon in the running build. The application icon acceptance criterion is complete.
<!-- gh-comment-id:6358448785 -->
@jayanezj commented on GitHub (Oct 23, 2026):
Manually verified the integrated application icon in the running build. The application icon acceptance criterion is complete.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @jayanezj on GitHub (Oct 23, 2026).
Original GitHub issue: https://github.com/jayanezj/traccar-client-macos/issues/1
Originally assigned to: @jayanezj on GitHub.
Goal
Create a small native macOS application that can remain available from the menu bar without a permanent main window.
Scope
com.codigojose.traccar-client-macos.Acceptance criteria
The arm64 app builds with deployment target 15.0 and launches in a paused state.
A menu-bar item and Settings window work without a permanent Dock icon in the chosen agent configuration.
Closing Settings leaves the process running; Quit terminates it.
About identifies the app as an independent, unofficial client and displays the version and Apache-2.0 license information.
No launch-time request sends positions or contacts the configured demo receiver.
A custom application icon is designed, reviewed and integrated into the Xcode app assets, with the source artwork retained for future revisions.
Validation
Record Xcode/SDK versions, build invocation and a launch/Settings/Quit smoke check. Early CI is delivered by PROTO-002 immediately after this buildable shell. Initial application icon development is included in this issue: a high-resolution PNG concept combining the supplied Traccar client and Apple marks with green
#2d7930, followed by SVG preparation and derived app assets after review. Later interface polish remains in PROTO-015; product maps remain outside the MVP.@jayanezj commented on GitHub (Oct 23, 2026):
Started issue #1, assigned to @jayanezj.
Scope: native arm64/macOS 15 Xcode project, paused menu-bar shell, Settings/About/Quit, ad hoc signing and build/runtime smoke checks. Tracking, transport, persistent configuration and CI remain in their owning issues; unavailable actions will be disabled.
@jayanezj commented on GitHub (Oct 23, 2026):
Local implementation and validation completed for issue #1; changes remain uncommitted on
issue/1-native-shell.Implemented:
LSUIElementagent configuration.Validation:
All five acceptance checks are now marked. Runtime on macOS 15, DMG/Gatekeeper, tracking/transport and CI remain in their owning issues.
@jayanezj commented on GitHub (Oct 23, 2026):
Expanded the acceptance criteria to include the application icon. Prepared an initial 1254 × 1254 PNG with transparency, combining Apple silhouette and Traccar transmission motif with the traccar client green palette (
#2d7930).@jayanezj commented on GitHub (Oct 23, 2026):
Integrated SVG-based application artwork and native Xcode asset catalogs.
#2d7930.Debug and Release builds passed. Both signatures passed strict verification. Verified PNG dimensions, exact green color, transparent cutout, bundled
AppIcon.icnsand the compiled menu-bar resource. Visual verification of the running Release build remains pending.@jayanezj commented on GitHub (Oct 23, 2026):
Manually verified the integrated application icon in the running build. The application icon acceptance criterion is complete.