【问题标题】:Getting error "Need to acknowledge to Apple's Apple ID and Privacy statement."收到错误“需要承认 Apple 的 Apple ID 和隐私声明”。
【发布时间】:2021-05-07 11:52:03
【问题描述】:

您好,我们在使用 fastlane sigh/get_provisioning_profile 时遇到此错误。我不认为这是 fastlane issue 之前发生的 case1 case2 并通过接受协议或其他未知原因得到修复..

需要承认 Apple 的 Apple ID 和隐私声明。请手动登录https://appleid.apple.com(或https://appstoreconnect.apple.com)确认声明。

我们去了

但是那里没有什么可以批准的。

有什么想法吗?

【问题讨论】:

  • 面临同样的问题,appstore connect 没有什么可以接受的。
  • 我也是...同样的问题,没有什么可以接受的。也许我们需要设置 2fa
  • 我们遇到了同样的问题,似乎我们签署了一项新的付费应用协议(即使我们的应用是免费的)。
  • github.com/fastlane/fastlane/issues/18098 仅供参考,同样的问题在fastlane github页面上讨论过。

标签: app-store-connect fastlane fastlane-match fastlane-deliver fastlane-pilot


【解决方案1】:

总结:

案例一:

* 你不想启用 2FA

  1. 使用fastlane 2.173.0 更新Gemfile 并运行bundle installbundle update fastlanebundle update
  2. 在 CI 中使用 SPACESHIP_SKIP_2FA_UPGRADE=1

案例2:

* 您已启用 2FA

* 您只需要非企业帐号

  1. 使用Account Holder roleappstore connect 生成APP_STORE_CONNECT_API_KEY

看起来像

-----BEGIN PRIVATE KEY-----\nabcdef12345abcdef12345\n-----END PRIVATE KEY-----
  1. 将其作为 APP_STORE_CONNECT_API_KEY 环境变量添加到您的 CI 中
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:

* 您已启用 2FA

* 您需要企业帐户并获取个人资料

  1. 运行
fastlane spaceauth -u user@email.com
  1. 将输出用作 CI 上的 FASTLANE_SESSION 环境变量。

  2. 您仍然需要包含FASTLANE_PASSWORD

请注意,这只持续 8 小时

案例4:

* 您已启用 2FA

* 您需要企业账号或非企业账号

* 您需要上传到应用商店

  1. https://appleid.apple.com/account/manage 创建 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD

  2. 将其设置为 ci 中的环境变量

案例5:

* 您已启用 2FA

* 您需要从 appstore connect 下载 dsyms

  1. 运行
fastlane spaceauth -u user@email.com
  1. 将输出用作 CI 上的 FASTLANE_SESSION 环境变量。

  2. 您仍然需要包含FASTLANE_USERFASTLANE_PASSWORD

请注意,这只持续 8 小时

【讨论】:

  • 很好的解释!当我需要 download_dsyms 时,您是否也有解决方案?我不小心启用了 2FA ?
  • 嗨@blackjacx 我将其添加为案例5
  • 使用 app_store_connect_api_key 和 fastlane 提示我输入苹果用户名和密码是否正常?我以为我使用 api 密钥是为了避免 2FA。
  • 对于upload_to_testflight,不需要用户名
  • 感谢@Ted,我不得不将#5 用于 pem,将 #2 用于 Pilot!
【解决方案2】:

我在使用 Bitrise(另一个 CI/CD 工具)时遇到了同样的问题。该错误消息具有误导性,因为它与接受某些新策略无关,而是与App Store Connect API 使用的新身份验证系统有关。

为了解决我登录 Bitrise 的问题,我不得不切换到新的身份验证方法,如下图所示。

旧的身份验证方法基于单个 Apple 开发者用户的凭据,而新方法则基于 API 密钥的生成。正如您从下面的屏幕截图中看到的,我必须在 User and Access -> Keys 下创建一个 API 密钥,然后将其上传到 Bitrise。

我希望我的案例可以帮助其他人解决问题。我敢肯定,即使您使用不同的工具,您也必须遵循或多或少相同的程序。

【讨论】:

  • 感谢分享。只是一个问题是您的 bitrise 构建在自动配置步骤或稍后在 iTunes 连接部署步骤失败?
  • @VMA92 在自动配置步骤。事实上,正如 Bitrise 文档所说,我不得不将其更改为“新”版本:devcenter.bitrise.io/getting-started/…
【解决方案3】:

我正在使用 Apple 帐户来验证和授权 fastlane 操作。

将我的 CI 更改为使用 Apple API key 似乎可以解决问题。

Fasltane 应该使用app_store_connect_api_key

这里的文档: http://docs.fastlane.tools/actions/app_store_connect_api_key/#app_store_connect_api_key

【讨论】:

    【解决方案4】:

    您检查过您的 2FA 设置吗?

    Apple 宣布:“从 2021 年 2 月开始,所有用户都需要额外的身份验证才能登录 App Store Connect。”

    【讨论】:

    • 不,它解释了问题出现的原因以及显示的消息不正确。
    【解决方案5】:

    对于 Azure DevOps 用户,在我们等待 AppStoreConnect Api 密钥支持合并时,临时 SPACESHIP_SKIP_2FA_UPGRADE=1 有效:

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


    编辑


    Pull 请求已合并,API 身份验证现在可以工作,并且是首选的身份验证方式。

    【讨论】:

      【解决方案6】:

      对于那些使用Pilot 的人来说,有一个简单的解决方案:

      只需将其添加到 Pilot:

      skip_waiting_for_build_processing: true,
      apple_id: "123456789"
      

      您可以在 AppStoreConnect 的 General > App information 中找到 apple_id

      参考: https://dev.to/dumazy/upload-to-testflight-with-fastlane-and-2fa-11k8

      【讨论】:

      • @prapin 你能在下面的部分看看我的解决方案“upload_ip”a,它成功地为我工作。如有任何帮助,请告诉我们
      • @Gangadhar 是的,我今天做了一些与您的解决方案类似的事情,使用 api_key_pathFastfile 引用的 JSON 文件,并且成功了。
      【解决方案7】:

      在我的情况下,以下解决方案适用于上传 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
      

      【讨论】:

        猜你喜欢
        • 2021-06-04
        • 2021-02-28
        • 2021-05-11
        • 2016-06-15
        • 1970-01-01
        • 2018-06-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多