Xcode 9:Provisioning profile是由Xcode管理的,但签名设置需要手动管理的配置文件。

27

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

Xcode 8.3.3可以,如下所示:
enter image description here

Xcode 9.0不可以,如下所示:
enter image description here

存档时,我遇到了以下问题:

代码签名错误:Provisioning profile "XC iOS: *"为Xcode管理,但签名设置需要手动管理的配置文件。
代码签名错误:在SDK “iOS 11.0”中,“应用程序”产品类型需要代码签名。

这两个截图是从同一台电脑、同一工作区获取的。 enter image description here

我无法使用“自动”选项,因为这会更改配置文件,然后上传到iTunes Connect后我将得到以下提示:

可能丢失钥匙串访问权限 - 先前的软件版本的应用程序标识符值为['YBDK7H6MLG.com.ef.english24-7'],待提交的新软件版本的应用程序标识符为['GEEM4BQ58H.com.ef.english24-7']。这将导致丢失钥匙串访问权限。

我如何使发布目标为iOS 11而不失去钥匙串访问权限?

2个回答

21

感谢所有人的帮助。

Xcode 9 不接受由 Xcode 生成的 Provisioning Profile(名称中带有“XC iOS”)。因此,解决方案是将 Xcode 生成的 Provisioning Profile 克隆到一个新的并具有不同名称的文件中。

  1. 要管理 provisioning profiles,请请求您的 Team Agent 将您设为团队中的“管理员”

  2. 创建一个新的 Provisioning Profile 或编辑现有的 Profile:
    编辑 Provisioning Profile

  3. 将 App ID 更改为来自 Xcode 的 App ID:
    输入图像描述

  4. 更改证书为正确的证书(不一定是最新的):
    输入图像描述

  5. 点击生成

  6. 点击下载

  7. 在电脑上双击它

  8. 选择它作为您的签名:
    输入图像描述

  9. 打包

  10. 在导出时,请检查您的 application-identifier 和 keychain-access-groups 是否正确:
    输入图像描述


16
Xcode 9 坚持认为该配置文件是“由 Xcode 生成,不支持手动签名”,仅因其名称中包含“XC”。
关键修复方法是将配置文件重命名为不含“XC”的名称。
重命名后,最快使用的方法是:选择您的目标 > 通用 > 签名(方案名称)> 选择下载配置文件...,然后选择新命名的配置文件。

enter image description here

对所有需要的目标重复以上步骤。完成。


谢谢!重命名肯定是最简单的解决方案。 - Kaiwen Huang
太棒了。这绝对是最简单的解决方案。 - Steve Moser
你救了我的一天!你怎么知道这个的? - Tommy
我的个人资料名称为“XC Ad Hoc: com.mycompany.myapp”,将其重命名以删除“XC”对我也起了作用。 - Suchipi
@Suchipi 考虑到你的情况,似乎这一切与“iOS”无关。重点在于“XC”。我已经更新了我的答案以指向“XC”。感谢你的贡献! - Vitalii
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接