Quickstart iOS
In pochi minuti la tua app iOS leggerà un feature flag vero — con cache, fallback offline e l’identità del dispositivo gestita per te.
Richiede iOS 17, macOS 14 o visionOS 1. L’SDK non ha dipendenze proprie.
1. Installa
Sezione intitolata “1. Installa”L’SDK vive in un repository pubblico su GitHub — aggiungilo direttamente da lì come Swift
Package, in Xcode (File → Add Package Dependencies…) o in Package.swift:
.package(url: "https://github.com/FortressFlag/FortressFlag_SDK_ios.git", from: "1.0.0")2. Avvia l’SDK
Sezione intitolata “2. Avvia l’SDK”Una volta, all’avvio — per SwiftUI, l’init della tua App è il posto naturale:
import FortressFlag
FortressFlag.start( Configuration( sdkKey: "ffc_prod_…", // dalla schermata Chiavi SDK del tuo progetto environment: .production, keychainAccessGroup: "com.acme.fortressflag" // la stessa stringa in ogni app che pubblichi ))start ritorna non appena i valori in cache sono caricati, e da quel momento l’SDK fa poll
per le modifiche in background. La chiave è una chiave client — viaggia
nella tua app per progettazione.
3. Leggi un flag
Sezione intitolata “3. Leggi un flag”Ovunque, anche dentro un body SwiftUI:
if FortressFlag.isEnabled("new-checkout") { NewCheckoutView()} else { LegacyCheckoutView()}I flag stringa e numerici si leggono allo stesso modo — FortressFlag.stringValue("checkout-cta", default: "buy-now") — e puoi osservare le modifiche con FortressFlag.onChange.
Fatto — il tuo flag è online. Cambialo nella dashboard e l’app lo segue al suo prossimo poll.
Se FortressFlag è giù, la tua app no
Sezione intitolata “Se FortressFlag è giù, la tua app no”Nessuna chiamata di questa API lancia eccezioni, blocca o può far crashare la tua app. Ogni lettura si risolve attraverso una cascata — gli ultimi valori ricevuti, poi la cache durevole delle esecuzioni precedenti, poi il valore predefinito nel punto di chiamata — così un’interruzione, una rete morta o una chiave revocata non raggiungono mai i tuoi utenti.
Configura la condivisione del keychain — non farlo ti costa soldi
Sezione intitolata “Configura la condivisione del keychain — non farlo ti costa soldi”FortressFlag fattura per dispositivo, non per app. Un telefono con tre delle tue app è una postazione — ma solo se tutte e tre concordano su un’unica identità del dispositivo, il che su iOS significa un access group del keychain condiviso:
- In ogni target dell’app: Signing & Capabilities → + Capability → Keychain Sharing.
- Aggiungi lo stesso gruppo a ognuna delle tue app — per esempio
com.acme.fortressflag. - Passa quella stringa (senza il prefisso del team) come
keychainAccessGroup.
Salta questo passaggio e tutto funziona comunque, ma ogni app memorizza la propria identità: un dispositivo conta come tre dispositivi fatturabili. L’SDK registra un avviso una volta quando sta succedendo.
Una nota di piattaforma: l’identità vive nel keychain, quindi su iOS sopravvive alla disinstallazione dell’app — e non viene mai sincronizzata su iCloud, quindi non viaggia mai con un backup su un secondo dispositivo.
Debug di un’integrazione
Sezione intitolata “Debug di un’integrazione”Il pacchetto include una seconda libreria, FortressFlagDebugUI, con FlagListView — una
schermata SwiftUI che mostra ogni flag che questo dispositivo detiene, il suo valore e da
dove proviene, in tempo reale. È la risposta più rapida a «ma l’SDK sta parlando con il
server?».
Prossimi passi
Sezione intitolata “Prossimi passi”- Come i flag raggiungono la tua app — cosa fa quel poll in background
- Identità del dispositivo e fatturazione — l’identità che hai appena configurato
- Configura un rollout percentuale — distribuisci prima al 10%