Demo-Modus auch in Release-/TestFlight-Builds verfügbar machen

Der Einstellungen-Schalter für den Demo-Modus war in #if DEBUG
eingeschlossen und damit in Archiven (Release-Konfiguration, wie sie
Product → Archive und damit jeder TestFlight-Build verwendet) komplett
herauskompiliert. TestFlight-Tester konnten den Demo-Modus dadurch nicht
nutzen.

DemoData.isEnabled und der Schalter in SettingsView sind jetzt
konfigurationsunabhängig; nur die CAMPER_DEMO-Umgebungsvariable bleibt
auf Debug-Builds beschränkt, da sie ohnehin nur über Xcode/simctl
gesetzt werden kann.

Build (Debug + Release) und Tests grün; per strings(1) im
Release-Binary verifiziert, dass der Demo-Modus-Code tatsächlich
mitkompiliert wird.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
fototeddy
2026-09-06 22:33:11 +02:00
co-authored by Claude Sonnet 5
parent 8e5ee6927e
commit 35f4e6fbcb
4 changed files with 27 additions and 33 deletions
+10 -8
View File
@@ -430,16 +430,18 @@ eingerichtet wurden, wandern beim Update automatisch ins erste Profil.
## Ohne Fahrzeug ansehen
Ein Demo-Modus füllt die App mit erfundenen Fahrzeugen und Messwerten, damit
sich die Ansichten ohne Bluetooth prüfen lassen. Nur in Debug-Builds, auf zwei
Wegen einzuschalten:
sich die Ansichten ohne Bluetooth prüfen lassen auch ohne die Hardware zur
Hand zu haben. Auf zwei Wegen einzuschalten:
* **Schalter in den Einstellungen** (*Einstellungen → Entwicklung →
Demo-Modus*) der Weg für einen lokal installierten Build ohne
Xcode-Verbindung, etwa auf dem eigenen iPhone. Wirkt erst nach einem
Neustart der App (im App-Umschalter nach oben wischen, dann neu öffnen),
weil `DeviceStore` und `BluetoothManager` den Stand nur beim Start lesen.
* **Umgebungsvariable** `CAMPER_DEMO=1` in Xcode unter *Product → Scheme →
Edit Scheme → Run → Arguments*, oder im Simulator direkt:
Demo-Modus*) in jeder Build-Konfiguration verfügbar, auch in TestFlight-
und App-Store-Builds. Der Weg für jeden lokal installierten Build ohne
Xcode-Verbindung. Wirkt erst nach einem Neustart der App (im
App-Umschalter nach oben wischen, dann neu öffnen), weil `DeviceStore` und
`BluetoothManager` den Stand nur beim Start lesen.
* **Umgebungsvariable** `CAMPER_DEMO=1` nur in Debug-Builds, in Xcode unter
*Product → Scheme → Edit Scheme → Run → Arguments*, oder im Simulator
direkt:
```bash
xcrun simctl launch --terminate-running-process booted <deine-bundle-id>