您好,我们在使用 fastlane sigh/get_provisioning_profile 时遇到此错误。我不认为这是一个快车道问题,因为它发生在case1 case2之前,并且通过接受协议或其他未知原因得到了解决。
需要承认 Apple 的 Apple ID 和隐私声明。请手动登录https://appleid.apple.com(或https://appstoreconnect.apple.com)以确认该声明。
我们去了
但那里没有什么可以批准的。
有任何想法吗?
您好,我们在使用 fastlane sigh/get_provisioning_profile 时遇到此错误。我不认为这是一个快车道问题,因为它发生在case1 case2之前,并且通过接受协议或其他未知原因得到了解决。
需要承认 Apple 的 Apple ID 和隐私声明。请手动登录https://appleid.apple.com(或https://appstoreconnect.apple.com)以确认该声明。
我们去了
但那里没有什么可以批准的。
有任何想法吗?
bundle install
, bundle update fastlane
, 或bundle update
SPACESHIP_SKIP_2FA_UPGRADE=1
在您的 CI 中使用APP_STORE_CONNECT_API_KEY
从appstore 连接生成。看起来像
-----BEGIN PRIVATE KEY-----\nabcdef12345abcdef12345\n-----END PRIVATE 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
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)
fastlane spaceauth -u user@email.com
将输出用作FASTLANE_SESSION
CI 上的环境变量。
你仍然需要包括FASTLANE_PASSWORD
请注意,这只持续8 小时
从https://appleid.apple.com/account/manage创建 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
在您的 ci 中将其设置为环境变量
fastlane spaceauth -u user@email.com
将输出用作FASTLANE_SESSION
CI 上的环境变量。
你仍然需要包括FASTLANE_USER
和FASTLANE_PASSWORD
请注意,这只持续8 小时
我在使用Bitrise(另一个 CI/CD 工具)时遇到了同样的问题。该错误消息具有误导性,因为它与接受某些新策略无关,而是与App Store Connect API使用的新身份验证系统有关。
为了解决这个问题,我登录了 Bitrise,我不得不切换到新的身份验证方法,如下图所示。
旧的身份验证方法基于单个 Apple 开发者用户的凭据,而新方法则基于 API 密钥的生成。正如您从下面的屏幕截图中看到的,我必须在User and Access -> Keys下创建一个 API密钥,然后将其上传到 Bitrise。
我希望我的案例可以帮助其他人解决这个问题。我很确定即使您使用不同的工具,您也必须遵循或多或少相同的程序。
我正在使用 Apple 帐户来验证和授权 fastlane 操作。
将我的 CI 更改为使用Apple API 密钥似乎可以解决问题。
法斯丹应该使用app_store_connect_api_key
这里的文档: http ://docs.fastlane.tools/actions/app_store_connect_api_key/#app_store_connect_api_key
您检查过您的 2FA 设置吗?
苹果宣布:“从 2021 年 2 月开始,所有用户都需要额外的身份验证才能登录 App Store Connect。”
SPACESHIP_SKIP_2FA_UPGRADE=1
对于 Azure DevOps 用户,在我们等待 AppStoreConnect Api 密钥支持合并时临时工作:
https://github.com/microsoft/app-store-vsts-extension/pull/189
编辑
拉取请求已被合并,API 身份验证现在可以工作,并且是首选的身份验证方式。
对于那些使用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
In my case the following solution worked for uploading the ipa files
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