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

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

Используйте поставщик отладки в симуляторе

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

  1. В вашей отладочной сборке перед использованием каких-либо серверных служб Firebase создайте и установите фабрику поставщика отладки проверки приложений:

    Быстрый

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Цель-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Включите ведение журнала отладки в вашем проекте Xcode (v11.0 или новее):

    1. Открыть продукт> Схема> Изменить схему.
    2. Выберите Выполнить в меню слева, а затем выберите вкладку Аргументы.
    3. В аргументах , передаваемых в разделе Launch, добавить -FIRDebugEnabled .
  3. Запустите приложение. Локальный токен отладки будет зарегистрирован, когда SDK попытается отправить запрос на бэкэнд. Например:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. В настройках проекта> App Проверьте раздел Firebase консоли выберите Управление отладки лексем из меню переполнения вашего приложения. Затем зарегистрируйте токен отладки, который вы вошли на предыдущем шаге.

    Снимок экрана пункта меню «Управление токенами отладки»

После того, как вы зарегистрируете токен, серверные службы Firebase примут его как действительный.

Поскольку этот токен позволяет получить доступ к вашим ресурсам Firebase без действительного устройства, очень важно, чтобы вы держали его в секрете. Не фиксируйте его в общедоступном репозитории, и если зарегистрированный токен когда-либо будет скомпрометирован, немедленно отозвите его в консоли Firebase.

Используйте поставщик отладки в среде CI

Чтобы использовать поставщик отладки в среде непрерывной интеграции (CI), выполните следующие действия:

  1. В настройках проекта> App Проверьте раздел Firebase консоли выберите Управление отладки лексем из меню переполнения вашего приложения. Затем создайте новый токен отладки. На следующем шаге вам понадобится токен.

    Поскольку этот токен позволяет получить доступ к вашим ресурсам Firebase без действительного устройства, очень важно, чтобы вы держали его в секрете. Не фиксируйте его в общедоступном репозитории, и если зарегистрированный токен когда-либо будет скомпрометирован, немедленно отозвите его в консоли Firebase.

    Снимок экрана пункта меню «Управление токенами отладки»

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

  3. При необходимости настройте вашу систему CI, чтобы ваш токен отладки был доступен в среде CI в качестве переменной среды. Имя переменного что - то вроде APP_CHECK_DEBUG_TOKEN_FROM_CI .

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

  5. Настройте сценарий тестирования CI для передачи токена отладки в качестве переменной среды. Например:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. В вашей отладочной сборке перед использованием каких-либо серверных служб Firebase создайте и установите фабрику поставщика отладки проверки приложений:

    Быстрый

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Цель-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

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