Получение ошибки «Необходимо подтвердить Apple ID и заявление о конфиденциальности Apple».

Привет, мы получаем эту ошибку при использовании fastlane sigh / get_provisioning_profile. Я не думаю , что это Fastlane вопрос , как это происходило до case1 Вариант 2 и была исправлена путем принятия соглашения или другой неизвестной причине ..

Необходимо подтвердить Apple ID и заявление о конфиденциальности Apple. Пожалуйста, войдите вручную на (или ), чтобы подтвердить заявление.

Мы пошли к

но одобрять там нечего.

Любые идеи?

7 ответов

Резюме:

Случай 1:

* Вы не хотите, чтобы двухфакторная аутентификация была включена

  1. Обновите Gemfile с помощью fastlane 2.173.0 и запустите bundle install, bundle update fastlane, или bundle update
  2. Использовать SPACESHIP_SKIP_2FA_UPGRADE=1 в вашем CI

Случай 2:

* У вас включена двухфакторная аутентификация

* Вам нужна только некорпоративная учетная запись

  1. Генерировать APP_STORE_CONNECT_API_KEYиз магазина приложений подключитесь с помощью роли владельца счета .

Это выглядит как

      -----BEGIN PRIVATE KEY-----\nabcdef12345abcdef12345\n-----END PRIVATE KEY-----
  1. Добавьте его в свой CI как переменную среды APP_STORE_CONNECT_API_KEY
      lane :get_app_store_connect_api_key do
  ensure_env_vars(
    env_vars: [
      'APP_STORE_CONNECT_API_KEY'
    ]
  ) 
  app_store_connect_api_key(
    key_id: "12345ABCDEF",
    issuer_id: "1234abcd-12ab-12ab-12ab-123456abcdef",
    key_content: "#{ENV["APP_STORE_CONNECT_API_KEY"]}".gsub('\n', '\\n'),
    in_house: false,
  )
end
  1. Передайте это своим переулкам
      get_provisioning_profile(api_key: get_app_store_connect_api_key)

sigh(api_key: get_app_store_connect_api_key)

pilot(api_key: get_app_store_connect_api_key)

Случай 3:

* У вас включена двухфакторная аутентификация

* Вам нужна корпоративная учетная запись и профили для получения

  1. Бегать
      fastlane spaceauth -u user@email.com
  1. Используйте вывод как FASTLANE_SESSION переменная окружения на вашем CI.

  2. Вам все равно нужно включить FASTLANE_PASSWORD

Обратите внимание, что это длится всего 8 часов.

Случай 4:

* У вас включена двухфакторная аутентификация

* Вам нужна корпоративная или не корпоративная учетная запись

* Вам необходимо загрузить в appstore

  1. Создайте FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD из https://appleid.apple.com/account/manage

  2. Установите его как переменную среды в вашем ci

У меня была такая же проблема с Bitrise (еще одним инструментом CI / CD). Сообщение об ошибке вводило в заблуждение, потому что оно было связано не с принятием некоторых новых политик, а с новой системой аутентификации, используемой API App Store Connect .

Чтобы решить эту проблему, я вошел в Bitrise, и мне пришлось переключиться на новый метод аутентификации, как показано на изображении ниже.

Старый метод аутентификации был основан на учетных данных одного пользователя Apple Developer, новый метод вместо этого основан на генерации ключа API. Как видно на скриншоте ниже, мне пришлось создать ключ API в разделе « Пользователь и доступ» -> «Ключи», а затем загрузить его в Bitrise.

Надеюсь, мой случай поможет кому-то еще решить проблему. Я почти уверен, что вы должны следовать более или менее той же процедуре, даже если вы используете другой инструмент.

Я испытывал это с учетной записью Apple для аутентификации и авторизации действий на скоростной полосе.

Изменение моего CI для использования ключа Apple API, похоже, решает проблему.

Фаслтан следует использовать app_store_connect_api_key

Вот документы: http://docs.fastlane.tools/actions/app_store_connect_api_key/#app_store_connect_api_key

Вы проверили настройки 2FA?

Apple объявила, что: «Начиная с февраля 2021 года, всем пользователям потребуется дополнительная аутентификация для входа в App Store Connect».

Для пользователей Azure DevOps временный SPACESHIP_SKIP_2FA_UPGRADE=1 работает, пока мы ждем объединения поддержки ключей AppStoreConnect Api:

https://github.com/microsoft/app-store-vsts-extension/pull/189

Для тех, кто пользуется Pilot, есть простое решение:

Просто добавьте это в Pilot:

      skip_waiting_for_build_processing: true,
apple_id: "123456789"

Вы можете найти apple_id в AppStoreConnect в разделе Общие> Информация о приложении

Ссылка: https://dev.to/dumazy/upload-to-testflight-with-fastlane-and-2fa-11k8

В моем случае для загрузки файлов ipa работало следующее решение

      lane :upload_ipa do |options|
  api_key = app_store_connect_api_key(
    key_id: "xxxxx",
    issuer_id: "xxxxxx",
    key_filepath: "./fastlane/AuthKey_xxxxx.p8", #Mention the relative path
    duration: 1200, # optional
    in_house: false, # optional but may be required if using match/sigh
  )
  # The ipa and team_id are sent as options parameters to the method
  pilot(api_key: api_key, 
    ipa: options[:ipa],
    team_id: options[:team_id],
        skip_waiting_for_build_processing: true,
    wait_processing_interval: 120,
         app_platform: options[:app_platform])
end
Другие вопросы по тегам