Quickstart de iOS
Em poucos minutos o seu app iOS vai ler uma feature flag de verdade — com cache, fallback offline e a identidade do dispositivo cuidada para você.
Requer iOS 17, macOS 14 ou visionOS 1. O SDK não tem dependências próprias.
1. Instale
Seção intitulada “1. Instale”O SDK mora em um repositório público no GitHub — adicione-o direto de lá como um Swift
Package, no Xcode (File → Add Package Dependencies…) ou no Package.swift:
.package(url: "https://github.com/FortressFlag/FortressFlag_SDK_ios.git", from: "1.0.0")2. Inicie o SDK
Seção intitulada “2. Inicie o SDK”Uma vez, na inicialização — para SwiftUI, o init do seu App é o lugar natural:
import FortressFlag
FortressFlag.start( Configuration( sdkKey: "ffc_prod_…", // da tela Chaves de SDK do seu projeto environment: .production, keychainAccessGroup: "com.acme.fortressflag" // a mesma string em todo app que você publica ))start retorna assim que os valores em cache são carregados, e a partir daí o SDK consulta
mudanças em segundo plano. A chave é uma chave de cliente — ela
viaja no seu app por design.
3. Leia uma flag
Seção intitulada “3. Leia uma flag”Em qualquer lugar, inclusive dentro de um body do SwiftUI:
if FortressFlag.isEnabled("new-checkout") { NewCheckoutView()} else { LegacyCheckoutView()}Flags de string e de número são lidas do mesmo jeito —
FortressFlag.stringValue("checkout-cta", default: "buy-now") — e você pode observar
mudanças com FortressFlag.onChange.
É isso — a sua flag está no ar. Ligue-a no painel e o app acompanha no próximo polling.
Se o FortressFlag cair, o seu app não cai
Seção intitulada “Se o FortressFlag cair, o seu app não cai”Nenhuma chamada desta API lança exceção, bloqueia ou consegue derrubar o seu app. Toda leitura resolve por uma cascata — os últimos valores recebidos, depois o cache durável de execuções anteriores, depois o padrão do ponto de chamada — então uma queda, uma rede morta ou uma chave revogada nunca chegam aos seus usuários.
Configure o compartilhamento de keychain — não fazer isso custa dinheiro
Seção intitulada “Configure o compartilhamento de keychain — não fazer isso custa dinheiro”O FortressFlag cobra por dispositivo, não por app. Um celular rodando três dos seus apps é um assento — mas só se os três concordarem em uma única identidade de dispositivo, o que no iOS significa um grupo de acesso ao keychain compartilhado:
- Em cada target de app: Signing & Capabilities → + Capability → Keychain Sharing.
- Adicione o mesmo grupo a todos os seus apps — por exemplo
com.acme.fortressflag. - Passe essa string (sem o prefixo do time) como
keychainAccessGroup.
Pule isso e tudo continua funcionando, mas cada app armazena a própria identidade: um dispositivo conta como três dispositivos cobráveis. O SDK registra um aviso uma vez quando isso está acontecendo.
Uma nota de plataforma: a identidade vive no keychain, então no iOS ela sobrevive à desinstalação do app — e nunca é sincronizada com o iCloud, então nunca pega carona em um backup para um segundo dispositivo.
Depurando uma integração
Seção intitulada “Depurando uma integração”O pacote traz uma segunda biblioteca, FortressFlagDebugUI, com FlagListView — uma tela
SwiftUI mostrando toda flag que este dispositivo tem, o valor dela e de onde veio, ao vivo. É
a resposta mais rápida para “o SDK está sequer falando com o servidor?”.
Para onde ir agora
Seção intitulada “Para onde ir agora”- Como as flags chegam ao seu app — o que esse polling em segundo plano faz
- Identidade do dispositivo e cobrança — a identidade que você acabou de configurar
- Configure um rollout percentual — publique para 10% primeiro