Xcode 签署发布抱怨开发证书

Xcode signing release complaining about development certificate

开门见山。这正常吗?

如您所见,这是签名的发布部分。我正在选择分发配置文件,但它抱怨配置文件缺少开发证书!我期待的是“iPhone Distribution”而不是“iPhone Developer”。

此外,它还列出了符合条件的开发配置文件!这会发生吗?我的意思是符合发布签名条件的配置文件?

我是不是漏掉了这么明显的东西?

这是正常的。您是否创建了生产证书?您是否用它签署了生产供应配置文件? 顺便说一句 - 您可以让 xcode 为您管理。

I'm choosing a distribution provisioning profile

好吧,不要。那是错误的。您使用 development 配置文件进行 all 构建和 运行,以及归档、操作——无论您是否 运行 在模拟器或设备上运行,无论构建配置是什么(发布或调试)。

分发配置文件纯粹用于分发(例如,在将存档导出到 App Store 时重新签名)。

另外,您应该全程使用自动签名;它比你知道的更多(我以一种非个人的方式这么说;它也比我知道的更多!)

所以,总结一下:

  • 使用自动签名。

  • 即使您使用手动签名,也请使用屏幕截图中显示的界面中所有内容的开发配置文件。

这是自动签名配置的样子:

以下是它如何配置您的实际设置:

请注意,所有 配置使用开发人员证书,而不是分发证书。如果您必须使用手动签名,那也是您想要做的。

直到过程的稍后步骤,当您从管理器 window 中的现有存档导出时,您才需要分发配置文件,此时您将使用完全不同的界面。您也可以在那里使用自动签名(尽管您不必这样做)。

如果您使用的是手动签名,请转到应用目标下的构建设置。

  • 在 "Signing > Code Signing Identity > Release" 下:从钥匙串中选择您的特定生产证书。
  • 在"Signing > Development Team > Release"下:选择你的团队。
  • 在 "Signing > Provisioning Profile > Release" 下:选择与之前指定的分发证书关联的适当分发配置文件。

此设置为我解决了问题