После того как для бэкенд-службы будет включена функция App Check, функции приложения, которые зависят от этой бэкенд-службы, не будут работать в симуляторе или среде непрерывной интеграции (CI), поскольку эти среды не считаются действительными устройствами. Чтобы запускать приложение в этих средах во время разработки и тестирования, вам нужно создать отладочную сборку приложения, в которой вместо поставщика подтверждения для рабочей версии используется App Check поставщик для отладки.
Как использовать поставщика данных для отладки в симуляторе
Вот как использовать поставщика данных для отладки при запуске приложения в симуляторе в интерактивном режиме (например, при локальной разработке):
В отладочной сборке перед использованием любых серверных сервисов Firebase создайте и задайте фабрику поставщика отладки App Check:
Swift
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 и найдите токен отладки App Check. Пример:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.Скопируйте токен (например,
123a4567-b89c-12d3-e456-789012345678).
Зарегистрируйте токен отладки в App Check:
В консоли Firebase перейдите на вкладку Безопасность > App Check > Приложения.
Найдите приложение, нажмите на дополнительное меню в виде трех точек () и выберите Управление токенами отладки.
Следуйте инструкциям на экране, чтобы зарегистрировать токен отладки.

После того как вы зарегистрируете токен в App Check, ваши серверные сервисы будут принимать его как действительный.
Этот токен позволяет получить доступ к вашим серверным сервисам без действительного устройства, поэтому его необходимо хранить в секрете. Не добавляйте его в общедоступный репозиторий и не включайте в рабочие сборки приложения. Если зарегистрированный токен будет скомпрометирован, немедленно удалите его с помощью функции Управление отладочными токенами в консоли Firebase.
Как использовать поставщика отладки в среде CI
Вот как использовать поставщика отладки для модульного тестирования в среде непрерывной интеграции (CI):
В консоли Firebase создайте токен отладки:
В консоли Firebase перейдите на вкладку Безопасность > App Check > Приложения.
Найдите приложение, нажмите на дополнительное меню в виде трех точек () и выберите Управление токенами отладки.
Следуйте инструкциям на экране, чтобы создать новый токен отладки.
Этот токен позволяет получить доступ к вашим серверным сервисам без действительного устройства, поэтому его необходимо хранить в секрете. Не добавляйте его в общедоступный репозиторий и не включайте в рабочие сборки приложения. Если зарегистрированный токен будет скомпрометирован, немедленно удалите его с помощью функции Управление отладочными токенами в консоли Firebase.

Добавьте созданный токен отладки в защищенное хранилище ключей системы непрерывной интеграции (например, зашифрованные секреты GitHub Actions или зашифрованные переменные Travis CI).
При необходимости настройте систему непрерывной интеграции так, чтобы токен отладки был доступен в среде CI как переменная среды. Назовите переменную, например
APP_CHECK_DEBUG_TOKEN_FROM_CI.В Xcode добавьте в схему тестирования переменную среды с названием
AppCheckDebugTokenи значением, например$(APP_CHECK_DEBUG_TOKEN).Настройте сценарий тестирования CI так, чтобы он передавал токен отладки как переменную среды. Пример:
xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
В отладочной сборке перед использованием любых серверных сервисов Firebase создайте и задайте фабрику поставщика отладки App Check:
Swift
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];
Когда приложение работает в среде CI, ваши серверные сервисы будут принимать отправленный им токен как действительный.