Используйте проверку приложений с поставщиком отладки на платформах Apple.

После того, как для бэкэнд-сервиса будет активирована App Check , функции вашего приложения, зависящие от этого бэкэнд-сервиса, не будут работать в симуляторе или в среде непрерывной интеграции (CI), поскольку эти среды не соответствуют критериям допустимых устройств. Чтобы запустить ваше приложение в этих средах во время разработки и тестирования, вам необходимо создать отладочную сборку приложения, использующую отладочный поставщик App Check вместо производственного поставщика аттестации.

Используйте отладочный провайдер в симуляторе.

Вот как использовать отладочный провайдер при интерактивном запуске приложения в симуляторе (например, во время локальной разработки):

  1. В отладочной сборке, перед использованием каких-либо серверных служб 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];
  2. Получите свой отладочный токен:

    1. Запустите приложение в симуляторе или на тестовом устройстве.

    2. Откройте консоль Xcode и найдите отладочный токен App Check . Например:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Скопируйте токен (например, 123a4567-b89c-12d3-e456-789012345678 ).

  3. Зарегистрируйте свой отладочный токен в App Check :

    1. В консоли Firebase перейдите в раздел Безопасность > Проверка приложений > вкладка Приложения .

    2. Найдите своё приложение, нажмите на меню с тремя точками ( ), а затем выберите «Управление отладочными токенами» .

    3. Следуйте инструкциям на экране, чтобы зарегистрировать свой отладочный токен.

    Скриншот пункта меню «Управление отладочными токенами» в консоли Firebase.

После регистрации токена в App Check ваши серверные службы будут считать его действительным.

Этот токен позволяет получить доступ к вашим серверным сервисам без действительного устройства, поэтому крайне важно хранить его в секрете. Не добавляйте его в общедоступный репозиторий и не включайте в производственные сборки вашего приложения. Если зарегистрированный токен будет скомпрометирован, немедленно удалите его с помощью функции «Управление отладочными токенами» в консоли Firebase .

Используйте отладочный провайдер в среде непрерывной интеграции (CI).

Вот как использовать отладочный провайдер для модульного тестирования в среде непрерывной интеграции (CI):

  1. В консоли Firebase создайте отладочный токен:

    1. В консоли Firebase перейдите в раздел Безопасность > Проверка приложений > вкладка Приложения .

    2. Найдите своё приложение, нажмите на меню с тремя точками ( ), а затем выберите «Управление отладочными токенами» .

    3. Следуйте инструкциям на экране, чтобы создать новый отладочный токен.

    Этот токен позволяет получить доступ к вашим серверным сервисам без действительного устройства, поэтому крайне важно хранить его в секрете. Не добавляйте его в общедоступный репозиторий и не включайте в производственные сборки вашего приложения. Если зарегистрированный токен будет скомпрометирован, немедленно удалите его с помощью функции «Управление отладочными токенами» в консоли Firebase .

    Скриншот пункта меню «Управление отладочными токенами».

  2. Добавьте созданный вами отладочный токен в защищенное хранилище ключей вашей системы CI (например, в зашифрованные секреты GitHub Actions или зашифрованные переменные Travis CI).

  3. При необходимости настройте вашу систему CI так, чтобы ваш отладочный токен был доступен в среде CI в качестве переменной среды. Назовите переменную, например, APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. В Xcode добавьте в схему тестирования переменную окружения с именем AppCheckDebugToken и значением, например, $(APP_CHECK_DEBUG_TOKEN) .

  5. Настройте свой скрипт CI-тестирования так, чтобы он передавал отладочный токен в качестве переменной окружения. Например:

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. В отладочной сборке, перед использованием каких-либо серверных служб 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];

Когда ваше приложение работает в среде CI, ваши бэкэнд-сервисы будут принимать отправленный токен как действительный.