Xcode 9:供应配置文件是 Xcode 管理的,但签名设置需要手动管理的配置文件

Xcode 9: Provisioning profile is Xcode managed, but signing settings require a manually managed profile

我需要存档我的应​​用程序以提交到 iTunes Connect。

Xcode 8.3.3 没问题:

Xcode9.0 不行:

存档时,我得到:

Code Signing Error: Provisioning profile "XC iOS: *" is Xcode managed, but signing settings require a manually managed profile.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.0'

两个屏幕截图来自同一台计算机,同一工作区。

我不能使用 "Automatic" 因为它会将配置文件更改为不同的配置文件,然后在上传到 iTunes Connect 后我会得到:

Potential Loss of Keychain Access - The previous version of software has an application-identifier value of ['YBDK7H6MLG.com.ef.english24-7'] and the new version of software being submitted has an application-identifier of ['GEEM4BQ58H.com.ef.english24-7']. This will result in a loss of keychain access.

如何在不丢失钥匙串访问权限的情况下以 iOS11 为目标发布?

感谢大家的帮助。

Xcode 9 不接受 Xcode-generated 配置文件(名称中带有 "XC iOS")。因此解决方案是将 Xcode-generated 供应配置文件克隆到一个具有不同名称的新供应配置文件中。

  1. 请您的团队代理让您 "Admin" 加入团队,以便管理配置文件

  2. 创建新的供应配置文件或编辑现有配置文件:

  3. 将 App ID 更改为 Xcode:

  4. 将证书更改为正确的(不一定是最新的):

  5. 点击生成

  6. 点击下载

  7. Double-click 它在你的电脑上

  8. Select供您签名:

  9. 存档

  10. 导出时,请检查您的 application-identifier 和 keychain-access-groups 是否正确:

Xcode 9 坚持认为配置文件是 "Xcode generated and doesn't support manual signing" 只是因为配置文件的名称中包含 "XC"。

此处的关键修复是 rename 将配置文件更改为不包含 "XC" 的名称。

重命名后最快的使用方法是:选择目标 > 常规 > 签名(方案名称)> select 下载配置文件...,select 新命名的配置文件。

根据需要对所有目标重复此操作。完成。