收到错误“需要确认Apple的AppleID和隐私声明”。
嗨,我们在使用 fastlane sigh/get_provisioning_profile 时遇到此错误。我不认为这是一个FASTLANE问题,因为它没有发生过案例1 案例2并得到了由接受协议或其他不明原因的固定..
需要承认 Apple 的 Apple ID 和隐私声明。请手动登录https://appleid.apple.com(或https://appstoreconnect.apple.com)以确认声明。
我们去了
- https://appleid.apple.com
- https://appstoreconnect.apple.com
- https://itunesconnect.apple.com
但没有什么值得批准的。
有任何想法吗?
回答
概括:
情况1:
* 您不希望启用 2FA
- 使用fastlane 2.173.0更新 Gemfile并运行
bundle install,bundle update fastlane, 或bundle update SPACESHIP_SKIP_2FA_UPGRADE=1在您的 CI 中使用
案例2:
* 您启用了 2FA
* 您只需要非企业账户
- 使用Account Holder 角色
APP_STORE_CONNECT_API_KEY从appstore connect生成。
看起来像
-----BEGIN PRIVATE KEY-----nabcdef12345abcdef12345n-----END PRIVATE KEY-----
- 将它作为 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
- 把它传到你的车道
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
*您需要企业帐户并获取配置文件
- 跑
fastlane spaceauth -u user@email.com
fastlane spaceauth -u user@email.com
-
将输出用作
FASTLANE_SESSIONCI 上的环境变量。 -
你仍然需要包括
FASTLANE_PASSWORD
请注意,这仅持续8 小时
案例4:
* 您启用了 2FA
* 您需要企业或非企业账户
* 您需要上传到应用商店
-
从https://appleid.apple.com/account/manage创建 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
-
在您的 ci 中将其设置为环境变量
案例5:
* 您启用了 2FA
*您需要从appstore connect下载dsyms
- 跑
-
将输出用作
FASTLANE_SESSIONCI 上的环境变量。 -
你仍然需要包括
FASTLANE_USER和FASTLANE_PASSWORD
请注意,这仅持续8 小时
回答
我在使用Bitrise(另一个 CI/CD 工具)时遇到了同样的问题。该错误消息具有误导性,因为它与接受某些新策略无关,而是与App Store Connect API使用的新身份验证系统有关。
为了解决这个问题,我登录了 Bitrise,我不得不切换到新的身份验证方法,如下图所示。
旧的身份验证方法基于单个 Apple Developer 用户的凭据,而新方法基于 API 密钥的生成。正如您从下面的屏幕截图中看到的,我必须在User and Access -> Keys下创建一个 API密钥,然后将其上传到 Bitrise。
我希望我的案例可以帮助其他人解决问题。我很确定即使您使用不同的工具,您也必须或多或少地遵循相同的程序。
- @VMA92 at the Auto Provision step. Indeed I had to change it to its "new" version as the Bitrise documentation is saying here: https://devcenter.bitrise.io/getting-started/configuring-bitrise-steps-that-require-apple-developer-account-data/
回答
我正在使用 Apple 帐户体验它来验证和授权 fastlane 操作。
更改我的 CI 以使用Apple API 密钥似乎解决了这个问题。
Fasltane应该使用 app_store_connect_api_key
这里的文档:http :
//docs.fastlane.tools/actions/app_store_connect_api_key/#app_store_connect_api_key
回答
您是否检查过 2FA 设置?
Apple 宣布:“从 2021 年 2 月开始,所有用户都需要进行额外的身份验证才能登录 App Store Connect。”
- No, it explains why the problem arose and that the message presented is incorrect.