Если после регистрации приложения для App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, на симуляторе или устройстве во время разработки, или в среде непрерывной интеграции (CI), вы можете создать отладочную сборку своего приложения, которая использует поставщик отладки App Check вместо настоящего поставщика аттестации.
Используйте поставщик отладки в разработке
Чтобы использовать поставщик отладки при интерактивном запуске приложения (например, во время разработки), выполните следующие действия:
- В отладочной сборке, прежде чем использовать какие-либо внутренние службы Firebase, создайте и настройте фабрику поставщиков отладки App Check : - Быстрый- let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() - Objective-C- FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure]; 
- Включите ведение журнала отладки в вашем проекте Xcode (v11.0 или новее): - Откройте Продукт > Схема > Редактировать схему .
- Выберите пункт Выполнить в левом меню, затем выберите вкладку Аргументы .
-  В разделе «Аргументы, передаваемые при запуске» добавьте -FIRDebugEnabled.
 
- Запустите приложение. Локальный отладочный токен будет зарегистрирован, когда SDK попытается отправить запрос на бэкенд. Например: - [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678 
- В разделе App Check консоли Firebase выберите «Управление токенами отладки» в дополнительном меню приложения. Затем зарегистрируйте токен отладки, созданный на предыдущем шаге.  
После регистрации токена внутренние службы Firebase примут его как действительный.
Поскольку этот токен позволяет получить доступ к ресурсам Firebase без действующего устройства, крайне важно сохранить его конфиденциальность. Не передавайте его в публичный репозиторий, а если зарегистрированный токен будет скомпрометирован, немедленно отзовите его в консоли Firebase .
Используйте поставщик отладки в среде CI
Чтобы использовать поставщик отладки в среде непрерывной интеграции (CI), выполните следующие действия:
- В разделе App Check консоли Firebase выберите «Управление токенами отладки» в дополнительном меню приложения. Затем создайте новый токен отладки. Он понадобится вам на следующем шаге. - Поскольку этот токен позволяет получить доступ к ресурсам Firebase без действующего устройства, крайне важно сохранить его конфиденциальность. Не передавайте его в публичный репозиторий, а если зарегистрированный токен будет скомпрометирован, немедленно отзовите его в консоли Firebase .  
- Добавьте только что созданный вами токен отладки в защищенное хранилище ключей вашей системы CI (например, зашифрованные секреты GitHub Actions или зашифрованные переменные Travis CI). 
- При необходимости настройте систему непрерывной интеграции так, чтобы отладочный токен был доступен в среде непрерывной интеграции как переменная среды. Назовите переменную, например, - APP_CHECK_DEBUG_TOKEN_FROM_CI.
- В Xcode добавьте в схему тестирования переменную среды с именем - FIRAAppCheckDebugTokenи значением вроде- $(APP_CHECK_DEBUG_TOKEN).
- Настройте тестовый скрипт непрерывной интеграции так, чтобы он передавал отладочный токен как переменную среды. Например: - xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI) 
- В отладочной сборке, прежде чем использовать какие-либо внутренние службы Firebase, создайте и настройте фабрику поставщиков отладки App Check : - Быстрый- let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() - Objective-C- FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure]; 
Когда ваше приложение работает в среде непрерывной интеграции, внутренние службы Firebase примут отправленный им токен как действительный.