Guía rápida de iOS
En unos minutos tu app de iOS leerá un feature flag real — con caché, respaldo sin conexión y la identidad del dispositivo gestionada por ti.
Requiere iOS 17, macOS 14 o visionOS 1. El SDK no tiene dependencias propias.
1. Instala
Sección titulada «1. Instala»El SDK vive en un repositorio público en GitHub — añádelo directamente desde ahí como
paquete Swift, en Xcode (File → Add Package Dependencies…) o en Package.swift:
.package(url: "https://github.com/FortressFlag/FortressFlag_SDK_ios.git", from: "1.0.0")2. Arranca el SDK
Sección titulada «2. Arranca el SDK»Una vez, al iniciar — en SwiftUI, el init de tu App es el sitio natural:
import FortressFlag
FortressFlag.start( Configuration( sdkKey: "ffc_prod_…", // de la pantalla Claves SDK de tu proyecto environment: .production, keychainAccessGroup: "com.acme.fortressflag" // la misma cadena en cada app que publiques ))start vuelve en cuanto se cargan los valores en caché, y a partir de ahí el SDK sondea en
busca de cambios en segundo plano. La clave es una clave de cliente —
viaja en tu app por diseño.
3. Lee un flag
Sección titulada «3. Lee un flag»En cualquier sitio, incluido dentro de un body de SwiftUI:
if FortressFlag.isEnabled("new-checkout") { NewCheckoutView()} else { LegacyCheckoutView()}Los flags de cadena y numéricos se leen igual — FortressFlag.stringValue("checkout-cta", default: "buy-now") — y puedes observar los cambios con FortressFlag.onChange.
Eso es todo — tu flag está activo. Cámbialo en el panel y la app le sigue en su siguiente sondeo.
Si FortressFlag se cae, tu app no
Sección titulada «Si FortressFlag se cae, tu app no»Ninguna llamada de esta API lanza excepciones, bloquea ni puede hacer que tu app se cierre. Cada lectura se resuelve a través de una cascada — los últimos valores recibidos, después la caché duradera de ejecuciones anteriores, después tu valor por defecto en el punto de llamada — así que una caída, una red muerta o una clave revocada nunca llegan a tus usuarios.
Configura el llavero compartido — no hacerlo te cuesta dinero
Sección titulada «Configura el llavero compartido — no hacerlo te cuesta dinero»FortressFlag factura por dispositivo, no por app. Un teléfono que ejecuta tres de tus apps es un puesto — pero solo si las tres se ponen de acuerdo en una identidad de dispositivo, lo que en iOS significa un grupo de acceso al llavero compartido:
- En cada target de app: Signing & Capabilities → + Capability → Keychain Sharing.
- Añade el mismo grupo a cada una de tus apps — por ejemplo
com.acme.fortressflag. - Pasa esa cadena (sin el prefijo del equipo) como
keychainAccessGroup.
Sáltate esto y todo sigue funcionando, pero cada app guarda su propia identidad: un dispositivo cuenta como tres dispositivos facturables. El SDK registra un aviso una vez cuando eso está ocurriendo.
Una nota de plataforma: la identidad vive en el llavero, así que en iOS sobrevive a las desinstalaciones de la app — y nunca se sincroniza con iCloud, así que nunca viaja en una copia de seguridad hasta un segundo dispositivo.
Depurar una integración
Sección titulada «Depurar una integración»El paquete incluye una segunda biblioteca, FortressFlagDebugUI, con FlagListView — una
pantalla SwiftUI que muestra cada flag que tiene este dispositivo, su valor y de dónde vino,
en directo. Es la respuesta más rápida a «¿está el SDK siquiera hablando con el servidor?».
¿Por dónde seguir?
Sección titulada «¿Por dónde seguir?»- Cómo llegan los flags a tu app — qué hace ese sondeo en segundo plano
- Identidad del dispositivo y facturación — la identidad que acabas de configurar
- Configura un rollout porcentual — publica primero para el 10%