[GH-ISSUE #16] Package an ad hoc signed DMG and validate installation and upgrades #18

Open
opened 2026-10-23 18:09:17 +02:00 by jayanezj · 0 comments
Owner

Originally created by @jayanezj on GitHub (Oct 23, 2026).
Original GitHub issue: https://github.com/jayanezj/traccar-client-macos/issues/16

Goal

Validate the actual distribution model before treating the prototype as installable on another supported Mac.

Scope

  • Package Traccar Client macOS.app as arm64 with the stable bundle identifier and a valid ad hoc signature. Produce a DMG and SHA-256 checksum locally.
  • Use no paid Developer ID certificate, Apple notarization or account credentials. Keep build, archive and packaging outputs on the external development volume.
  • Test copying to Applications, launching, reopening Settings and quitting. Use a controlled quarantine-bearing installation path to observe Gatekeeper, rather than assuming an unquarantined local build proves download behaviour.
  • Validate replacement/upgrade behaviour for settings, Keychain identity, queued positions and location permissions. Preserve data; report permission prompts and limitations honestly.
  • Confirm coexistence with the official iPad app by distinct product filename and bundle identifier, without replacing or modifying it.

Acceptance criteria

  • The DMG contains the expected arm64 app and its signature/checksum checks pass.
  • Real launch and Gatekeeper authorization steps are recorded without globally disabling Gatekeeper.
  • A replacement build preserves compatible data or reports a specific migration/permission limitation.
  • Runtime installation checks cover macOS 15 and the current stable target system, with actual versions/hardware recorded.
  • If the minimum-OS environment is unavailable, that matrix criterion remains pending rather than being inferred from deployment settings.

Validation

Record reproducible local packaging and installation steps. Do not publish a release, create GitHub resources, contact a real SOS receiver or include private screenshots. Testing macOS 15 may require a later available environment.

Dependencies

Originally created by @jayanezj on GitHub (Oct 23, 2026). Original GitHub issue: https://github.com/jayanezj/traccar-client-macos/issues/16 ## Goal Validate the actual distribution model before treating the prototype as installable on another supported Mac. ## Scope - Package **Traccar Client macOS.app** as arm64 with the stable bundle identifier and a valid ad hoc signature. Produce a DMG and SHA-256 checksum locally. - Use no paid Developer ID certificate, Apple notarization or account credentials. Keep build, archive and packaging outputs on the external development volume. - Test copying to Applications, launching, reopening Settings and quitting. Use a controlled quarantine-bearing installation path to observe Gatekeeper, rather than assuming an unquarantined local build proves download behaviour. - Validate replacement/upgrade behaviour for settings, Keychain identity, queued positions and location permissions. Preserve data; report permission prompts and limitations honestly. - Confirm coexistence with the official iPad app by distinct product filename and bundle identifier, without replacing or modifying it. ## Acceptance criteria - [ ] The DMG contains the expected arm64 app and its signature/checksum checks pass. - [ ] Real launch and Gatekeeper authorization steps are recorded without globally disabling Gatekeeper. - [ ] A replacement build preserves compatible data or reports a specific migration/permission limitation. - [ ] Runtime installation checks cover macOS 15 and the current stable target system, with actual versions/hardware recorded. - [ ] If the minimum-OS environment is unavailable, that matrix criterion remains pending rather than being inferred from deployment settings. ## Validation Record reproducible local packaging and installation steps. Do not publish a release, create GitHub resources, contact a real SOS receiver or include private screenshots. Testing macOS 15 may require a later available environment. ## Dependencies - [PROTO-004](https://github.com/jayanezj/traccar-client-macos/issues/4) - [PROTO-007](https://github.com/jayanezj/traccar-client-macos/issues/7) - [PROTO-011](https://github.com/jayanezj/traccar-client-macos/issues/11) - [PROTO-012](https://github.com/jayanezj/traccar-client-macos/issues/12) - [PROTO-013](https://github.com/jayanezj/traccar-client-macos/issues/13) - [PROTO-014](https://github.com/jayanezj/traccar-client-macos/issues/14) - [PROTO-015](https://github.com/jayanezj/traccar-client-macos/issues/15) <!-- planning-id: PROTO-016 -->
jayanezj added this to the M5 - Distribution and MVP acceptance milestone 2026-10-23 18:09:17 +02:00
jayanezj added the priority:hightype:taskarea:distribution labels 2026-10-23 18:09:17 +02:00
jayanezj added type:task and removed type:task labels 2026-10-30 18:01:12 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jayanezj/traccar-client-macos#18