iOS-Quickstart
In ein paar Minuten liest deine iOS-App ein echtes Feature Flag — mit Caching, Offline-Fallback und einer Geräteidentität, um die du dich nicht kümmern musst.
Erfordert iOS 17, macOS 14 oder visionOS 1. Das SDK hat keine eigenen Abhängigkeiten.
1. Installieren
Abschnitt betitelt „1. Installieren“Das SDK liegt in einem öffentlichen Repository auf GitHub — füge es direkt von dort als
Swift Package hinzu, in Xcode (File → Add Package Dependencies…) oder in
Package.swift:
.package(url: "https://github.com/FortressFlag/FortressFlag_SDK_ios.git", from: "1.0.0")2. Starte das SDK
Abschnitt betitelt „2. Starte das SDK“Einmal, beim Start — für SwiftUI ist das init deiner App der natürliche Ort:
import FortressFlag
FortressFlag.start( Configuration( sdkKey: "ffc_prod_…", // aus dem Bildschirm SDK-Schlüssel deines Projekts environment: .production, keychainAccessGroup: "com.acme.fortressflag" // derselbe String in jeder App, die du auslieferst ))start kehrt zurück, sobald die gecachten Werte geladen sind, und das SDK fragt von da an
im Hintergrund nach Änderungen. Der Schlüssel ist ein
Client-Schlüssel — er steckt by design in deiner App.
3. Lies ein Flag
Abschnitt betitelt „3. Lies ein Flag“Überall, auch innerhalb eines SwiftUI-Bodys:
if FortressFlag.isEnabled("new-checkout") { NewCheckoutView()} else { LegacyCheckoutView()}String- und Number-Flags liest du genauso —
FortressFlag.stringValue("checkout-cta", default: "buy-now") —, und auf Änderungen kannst du
mit FortressFlag.onChange hören.
Das war’s — dein Flag ist live. Schalte es im Dashboard um, und die App folgt mit ihrer nächsten Abfrage.
Wenn FortressFlag ausfällt, fällt deine App nicht aus
Abschnitt betitelt „Wenn FortressFlag ausfällt, fällt deine App nicht aus“Kein Aufruf in dieser API wirft, blockiert oder kann deine App zum Absturz bringen. Jede Lesung löst sich über eine Kaskade auf — die zuletzt empfangenen Werte, dann der dauerhafte Cache aus früheren Läufen, dann dein Standard an der Aufrufstelle —, sodass ein Ausfall, ein totes Netzwerk oder ein widerrufener Schlüssel deine Nutzer nie erreicht.
Richte Keychain-Sharing ein — es kostet dich Geld, es nicht zu tun
Abschnitt betitelt „Richte Keychain-Sharing ein — es kostet dich Geld, es nicht zu tun“FortressFlag rechnet pro Gerät ab, nicht pro App. Ein Telefon mit drei deiner Apps ist ein Seat — aber nur, wenn sich alle drei auf eine Geräteidentität einigen, was auf iOS eine gemeinsame Keychain-Zugriffsgruppe bedeutet:
- In jedem App-Target: Signing & Capabilities → + Capability → Keychain Sharing.
- Füge dieselbe Gruppe zu jeder deiner Apps hinzu — zum Beispiel
com.acme.fortressflag. - Übergib diesen String (ohne das Team-Präfix) als
keychainAccessGroup.
Lässt du das aus, funktioniert trotzdem alles, aber jede App speichert ihre eigene Identität: Ein Gerät zählt als drei abrechenbare Geräte. Das SDK loggt einmal eine Warnung, wenn das passiert.
Ein Plattformhinweis: Die Identität lebt in der Keychain, auf iOS überlebt sie also App-Deinstallationen — und sie wird nie mit iCloud synchronisiert, wandert also nie per Backup auf ein zweites Gerät.
Eine Integration debuggen
Abschnitt betitelt „Eine Integration debuggen“Das Package liefert eine zweite Library, FortressFlagDebugUI, mit FlagListView — einem
SwiftUI-Bildschirm, der live jedes Flag zeigt, das dieses Gerät hält, seinen Wert und woher
er kam. Es ist die schnellste Antwort auf „Redet das SDK überhaupt mit dem Server?“.
Wie geht es weiter?
Abschnitt betitelt „Wie geht es weiter?“- Wie Flags deine App erreichen — was diese Hintergrundabfrage tut
- Geräteidentität und Abrechnung — die Identität, die du gerade konfiguriert hast
- Richte einen Prozent-Rollout ein — liefere zuerst an 10 % aus