Usar o App Check com o provedor de depuração em plataformas da Apple
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Se você quiser executar seu aplicativo depois do registro do App Check em um ambiente que o App Check normalmente não classificaria como válido,
como um simulador ou dispositivo durante o desenvolvimento ou de uma integração
contínua (CI), é possível criar um build de depuração que use o
provedor de depuração do App Check em vez de um provedor de atestado real.
Usar o provedor de depuração no desenvolvimento
Para usar o provedor de depuração ao executar seu app de forma interativa (por exemplo, durante
o desenvolvimento) faça o seguinte:
No build de depuração, antes de usar qualquer serviço de back-end do Firebase, crie e
defina a fábrica do provedor de depuração App Check:
FIRAppCheckDebugProviderFactory*providerFactory=[[FIRAppCheckDebugProviderFactoryalloc]init];[FIRAppChecksetAppCheckProviderFactory:providerFactory];// Use Firebase library to configure APIs[FIRAppconfigure];
Ative a geração de registros de depuração no seu projeto do Xcode (v11.0 ou mais recente):
Abra Produto > Esquema > Editar esquema.
Selecione Executar no menu à esquerda e depois a guia Argumentos.
Na seção Arguments Passed On Launch, adicione
-FIRDebugEnabled.
Inicie o app. Um token local de depuração será registrado quando o SDK tentar
enviar uma solicitação ao back-end. Por exemplo:
Na seção App Check
do console Firebase, escolha Gerenciar tokens de depuração no menu
flutuante do app. Em seguida, registre o token de depuração que você registrou na etapa
anterior.
Depois que você registrar o token, os serviços de back-end do Firebase o aceitarão como válido.
Como esse token permite acesso aos recursos do Firebase sem
um dispositivo válido, é fundamental mantê-lo particular. Não o confirme em um
repositório público. Se um token registrado for comprometido, revogue-o
imediatamente no Console do Firebase.
Usar o provedor de depuração em um ambiente de CI
Para usar o provedor de depuração em um ambiente de integração contínua (CI, na sigla em inglês), faça o
seguinte:
Na seção App Check
do console Firebase, escolha Gerenciar tokens de depuração no menu
flutuante do app. Em seguida, crie um novo token de depuração. Você precisará do token
na próxima etapa.
Como esse token permite acesso aos recursos do Firebase sem
um dispositivo válido, é fundamental mantê-lo particular. Não o confirme em um
repositório público. Se um token registrado for comprometido, revogue-o
imediatamente no Console do Firebase.
Adicione o token de depuração que você acabou de criar ao armazenamento de chaves seguras do seu sistema de CI
(por exemplo, secrets criptografados do GitHub Actions
ou variáveis criptografadas do Travis CI).
Se necessário, configure o sistema de CI para disponibilizar o token de depuração
no ambiente de CI como uma variável de ambiente. Dê um nome à variável como APP_CHECK_DEBUG_TOKEN_FROM_CI.
No Xcode, adicione uma variável de ambiente ao esquema de teste com o nome
FIRAAppCheckDebugToken e algo como $(APP_CHECK_DEBUG_TOKEN) como
o valor.
Configure o script de teste de CI para transmitir o token de depuração como uma variável de ambiente. Por exemplo:
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
No build de depuração, antes de usar qualquer serviço de back-end do Firebase, crie e
defina a fábrica do provedor de depuração App Check:
FIRAppCheckDebugProviderFactory*providerFactory=[[FIRAppCheckDebugProviderFactoryalloc]init];[FIRAppChecksetAppCheckProviderFactory:providerFactory];// Use Firebase library to configure APIs[FIRAppconfigure];
Quando seu app é executado em um ambiente de CI, os serviços de back-end do Firebase aceitam o token enviado como válido.
[null,null,["Última atualização 2025-08-12 UTC."],[],[],null,["If, after you have registered your app for App Check, you want to run your\napp in an environment that App Check would normally not classify as valid,\nsuch as a simulator or device during development, or from a continuous\nintegration (CI) environment, you can create a debug build of your app that uses\nthe App Check debug provider instead of a real attestation provider.\n| **Warning:** The debug provider allows access to your Firebase resources from unverified devices. **Don't** use the debug provider in production builds of your app, and be careful not to leak your debug token.\n\nUse the debug provider in development\n\nTo use the debug provider while running your app interactively\n(during development, for example), do the following:\n\n1. In your debug build, before using any Firebase backend services, create and\n set the App Check debug provider factory:\n\n Swift \n\n ```swift\n let providerFactory = AppCheckDebugProviderFactory()\n AppCheck.setAppCheckProviderFactory(providerFactory)\n\n FirebaseApp.configure()\n ```\n\n Objective-C \n\n ```objective-c\n FIRAppCheckDebugProviderFactory *providerFactory =\n [[FIRAppCheckDebugProviderFactory alloc] init];\n [FIRAppCheck setAppCheckProviderFactory:providerFactory];\n\n // Use Firebase library to configure APIs\n [FIRApp configure];\n ```\n2. Enable debug logging in your Xcode project (v11.0 or newer):\n\n 1. Open **Product \\\u003e Scheme \\\u003e Edit scheme**.\n 2. Select **Run** from the left menu, then select the **Arguments** tab.\n 3. In the **Arguments Passed on Launch** section, add `-FIRDebugEnabled`.\n3. Launch the app. A local debug token will be logged when the SDK tries to\n send a request to the backend. For example:\n\n ```\n [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:\n 123a4567-b89c-12d3-e456-789012345678\n ```\n4. In the [**App Check**](//console.firebase.google.com/project/_/appcheck) section\n of the Firebase console, choose **Manage debug tokens** from your app's\n overflow menu. Then, register the debug token you logged in the previous\n step.\n\nAfter you register the token, Firebase backend services will accept it as valid.\n\nBecause this token allows access to your Firebase resources without a\nvalid device, it is crucial that you keep it private. Don't commit it to a\npublic repository, and if a registered token is ever compromised, revoke it\nimmediately in the Firebase console.\n\nUse the debug provider in a CI environment\n\nTo use the debug provider in a continuous integration (CI) environment, do the\nfollowing:\n\n1. In the [**App Check**](//console.firebase.google.com/project/_/appcheck) section\n of the Firebase console, choose **Manage debug tokens** from your app's\n overflow menu. Then, create a new debug token. You'll need the token in the\n next step.\n\n Because this token allows access to your Firebase resources without\n a valid device, it is crucial that you keep it private. Don't commit it to a\n public repository, and if a registered token is ever compromised, revoke it\n immediately in the Firebase console.\n\n2. Add the debug token you just created to your CI system's secure key store\n (for example, GitHub Actions' [encrypted secrets](https://docs.github.com/en/actions/reference/encrypted-secrets)\n or Travis CI's [encrypted variables](https://docs.travis-ci.com/user/environment-variables/#defining-encrypted-variables-in-travisyml)).\n\n3. If necessary, configure your CI system to make your debug token available\n within the CI environment as an environment variable. Name the variable\n something like `APP_CHECK_DEBUG_TOKEN_FROM_CI`.\n\n4. In Xcode, add an environment variable to your testing scheme with the name\n `FIRAAppCheckDebugToken` and something like `$(APP_CHECK_DEBUG_TOKEN)` as\n the value.\n\n5. Configure your CI test script to pass the debug token as an environment\n variable. For example:\n\n ```\n xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \\\n APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)\n ```\n6. In your debug build, before using any Firebase backend services, create and\n set the App Check debug provider factory:\n\n Swift \n\n ```swift\n let providerFactory = AppCheckDebugProviderFactory()\n AppCheck.setAppCheckProviderFactory(providerFactory)\n\n FirebaseApp.configure()\n ```\n\n Objective-C \n\n ```objective-c\n FIRAppCheckDebugProviderFactory *providerFactory =\n [[FIRAppCheckDebugProviderFactory alloc] init];\n [FIRAppCheck setAppCheckProviderFactory:providerFactory];\n\n // Use Firebase library to configure APIs\n [FIRApp configure];\n ```\n\nWhen your app runs in a CI environment, Firebase backend services will accept\nthe token it sends as valid."]]