Xcode 6 GM 创建存档文件。

17

我正在尝试创建一个归档文件.ipa,以便通过TestFlight进行分发。 归档文件已经创建好了,然后我选择导出,再选择adhoc,然后选择我的团队。 但是,在这一点上,我得到了下面的屏幕。

输入图像描述

我知道我的证书是有效的,因为我在下载xcode 6 GM大约2个小时之前,使用不同的配置文件在xcode 5中创建了一个.ipa。 我也知道我的配置文件是有效的,并且与该证书连接。

问题是,在xcode 5中,它没有要求选择团队;它只要求选择配置文件。 现在,导出要求选择团队,而我提供了团队。 当然,我有一个有效的iOS分发证书。 我正在使用它在构建设置中签署我的应用程序。 看起来是一个奇怪的错误。

非常感谢任何帮助。


除此之外,用于 ad hoc 构建发布的预配配置文件必须勾选所有设备才能有效。 - steventnorris
7个回答

8

你需要将“Code Signing Identity”更改为“iOS Distribution”

首先要明白,这个错误信息是一个错误的提示信息,并不准确反映实际情况。你浪费了这么多时间并不是你的错。这是苹果工作流程中的一个小缺陷,却浪费了数十万美元的开发者时间。但我们能做什么呢?

  1. 确保在开发人员会员中心有一个有效的Ad Hoc分发的配置文件,并下载到您的Mac。(这是一个重要的细节,因为在Xcode 6之前可能没有这样的配置文件,因为它不是必需的。)
  2. 通过将其拖到Dock中的Xcode图标上来打开*.mobileprovision文件。
  3. 在Xcode中转到“Build Settings”,找到“Code Signing”下的“Code Signing Identity”。
  4. 它可能被设置为“iPhone Developer”。将其更改为“iOS Distribution”,即使听起来像您正在制作一个应用商店版本。
  5. 在Xcode中找到“Code Signing”下的“Provisioning Profile”。确保您的Ad Hoc配置文件出现在下拉列表中,但选择自动。
  6. 现在您可以进行以下操作:Product > Build; Product > Archive; Export...; 然后一切都应该正常。

Xcode 6

这在技术上与@steventnorris的答案相同。我想更加清晰,因为我没有意识到并实施他的答案。我不得不通过许多试错来自己发现这个问题。


1
自从iOS 6发布以来,我一直在说:苹果是新的微软。 - Jacksonkr
@phani,你能给我更多关于你具体情况的背景吗?如果需要的话,你可以通过电子邮件联系我。我的名字是我的姓氏加上.com。 - Bruno Bronosky

7

使用开发证书时,我无法生成 .ipa 文件。然而,使用 ad hoc 的分发证书,我可以生成 .ipa 文件。我认为这可能是 Xcode 6 中一个新的“特性”或错误,需要使用分发证书和配置文件来通过 ad hoc 部署。


我正在使用Xcode 6.01,但仍无法使用开发证书生成ipa文件。它自动选择了分发证书。有人解决了这个问题吗? - DixieFlatline
2
如上所述,@DixieFlatline,您需要从会员中心创建一个新的AdHoc分发配置文件(开发证书不再允许用于Ad Hoc部署)。 - cdescours
根据我的研究,有几个可能的选项。我没有测试过这些,但有些人似乎使用命令行实用程序构建IPA时很幸运,而其他人则只保留旧版本的XCode进行构建,尽管我想这将限制您的SDK。阅读这篇文章可能会给您更多信息。 https://dev59.com/QV8e5IYBdhLWcg3wLYDs - steventnorris
@steventnorris - 谢谢! - Tal Yaniv
我认为人们对这个答案的问题在于它说“使用分发证书进行Ad Hoc”,并没有清楚地解释这意味着什么。仅仅在developer.apple.com上创建它,下载并在Xcode中打开它是不够的;除非你向前迈出一步,并在构建设置下更改你的“代码签名身份”为“iOS分发”,否则所有这些都是徒劳的。 - Bruno Bronosky
显示剩余2条评论

2

1

以下内容对我有用。

  1. 从开发者门户网站中删除分发配置文件。
  2. 创建新的分发配置文件。
  3. 清除并重新存档。

0

对我来说,以下方法立即奏效:

  1. 进入钥匙串访问

  2. 删除 Xcode 或最新的 Mac OS 更新恢复的垃圾密钥。

  3. 只保留带有旁边有小三角形的“私钥”的“公钥”(单击后显示证书)。

删除这些无用的密钥后,Xcode 6.0.1 成功地为 OTA 分发归档了一个 add hoc 应用程序。

这对我很有帮助,希望对你们也有帮助。祝好运 :)


0

这是我成功的简短版本(自然而然地,我之前花了几个小时尝试其他所有方法):

注意:以下步骤适用于Xcode 6.3.2。

  1. 创建并安装新的分发证书。
  2. 卸载旧证书。
  3. 将配置文件切换到新证书。
  4. 执行归档。如果您愿意更改您的证书,可以在此停止。
  5. 将配置文件切换回原始证书。
  6. 执行归档。现在应该可以工作了。

这是详细版:

  1. 在钥匙串中删除现有的分发证书。
  2. 在苹果会员中心创建新的分发证书。
  3. 下载并安装新证书。
  4. 将项目AdHoc预配文件更改为使用此新证书。
  5. 在Xcode中,单击Xcode菜单中的“首选项”。
  6. 单击“查看详细信息...”
  7. 右键单击底部的一个预配文件,选择“在Finder中显示”。
  8. 删除该文件夹中的所有文件。
  9. 在Xcode窗口底部单击刷新按钮。
  10. 再次尝试存档,应该可以正常工作。如果您经常更改证书,则停在这里。
  11. 从钥匙串中删除新证书并重新安装旧证书。
  12. 将预配文件更改回原始证书。
  13. 重复删除和刷新预配文件。
  14. 再次尝试存档,应该可以正常工作。上传此版本。

0
这是对我有效的方法。希望能有所帮助。
  1. 从您的Mac中删除特定应用程序的Dev和AdHoc配置文件(我使用配置工具进行操作)
  2. 退出并启动Xcode
  3. 从Apple Dev Portal下载配置文件
  4. 在代码签名设置中选择新的配置文件

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