Xcode签名发布版本时报错,提示开发证书的问题。

3
直截了当地说,这正常吗?

Xcode settings

正文:
如您所见,这是签名的发布部分。我选择了一个分发配置文件,但它抱怨该配置文件缺少开发证书!我原本期望看到 "iPhone Distribution" 而不是 "iPhone Developer"。
此外,它列出了开发配置文件作为可用!这可能发生吗?我的意思是开发配置文件在发布签名中可用吗?
我是否忽略了一些显而易见的东西?
3个回答

13
我正在选择一个分发配置文件。
好的,不要这样做。那是错误的。你需要为所有构建、运行和归档操作使用一个开发配置文件,无论你是在模拟器还是设备上运行,也无论构建配置是什么(发布版或调试版)。
分发配置文件纯粹用于分发(例如,在将存档导出到应用商店时重新签名)。
此外,你应该在整个过程中使用自动签名;它比你知道得更多(我以非个人的方式说这句话;它也比我知道得更多!)
因此,总结一下:
- 使用自动签名。 - 即使你使用手动签名,请在你屏幕截图中显示的界面中使用开发配置文件来进行所有操作。
这是自动签名的配置:

enter image description here

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

enter image description here

注意,它使用的是开发者证书而不是分发证书,适用于所有配置。如果必须使用手动签名,则也应该这样做。

直到在组织器窗口中从现有存档中导出时,您才需要分发配置文件,此时您将使用完全不同的界面。您也可以在那里使用自动签名(虽然不一定要这样做)。


1
为什么不使用自动签名呢?Xcode对此比你更了解。 - matt
我正在修复这个问题以发布应用程序。所以,我需要那个。 而且,我不知道自动管理证书也适用于分发。 - joker
啊,明白了。谢谢。不过并不喜欢"你没在听"这部分。还是谢谢 :) - joker
@Vincenzo 只有一种方法可以创建存档:产品 > 存档。我的回答解释了如何进行此操作。从存档中导出有很多种方式(在组织者窗口中);用于应用商店、用于 Ad Hoc、作为文件等等。我的回答没有涉及其中任何一种。我知道如何执行这些操作,但这不是_此_问题和答案的内容。无论您以后打算如何处理存档,存档始终只能通过_一种_方式创建。 - matt
@matt 我一直在努力解决这个问题,因为我正在尝试使用Firebase App Distribution。有人告诉我,在导出 ad-hoc .ipa 文件时,自动签名无法正常工作(虽然我不确定在 Xcode 中进行导出时它怎么可能知道你要做什么..),所以使用手动签名可以解决这个问题。真正的问题是,当时我没有一个包含测试设备 UUID 的分发 ad-hoc 配置文件,但我已经将它们添加到了我的开发者配置文件中,所以当使用 ad-hoc 导出时,Xcode 找不到任何可用的 ad-hoc 配置文件。 - Vincenzo
显示剩余5条评论

4
如果您正在使用手动签名,请前往应用程序目标下的构建设置。
在“签名 > 代码签名身份 > 发布”下:从密钥链中选择您特定的生产证书。
在“签名 > 开发团队 > 发布”下:选择您的团队。
在“签名 > 配置文件 > 发布”下:选择与之前指定的分发证书相关联的适当分发配置文件。
这个设置对我解决了问题。

1
非常感谢。为我解决了这个问题 :) - Dmytro Plekhotkin

0

这是正常的。你创建了生产证书吗?并且用它签署了生产配置文件吗? 顺便说一下 - 你可以让Xcode为你管理这个。


是的,我创建了一个生产证书(实际上,我有3个)。而且,我还有一个使用该证书签名的生产配置文件。然而,Xcode要求使用开发证书签名的配置文件。这就是导致混淆的原因。在发布应用程序时,让Xcode管理这项工作是否可行? - joker
1
是的,让 Xcode 为您管理这一切对于发布应用程序很有效。 - Witterquick
还有一件值得尝试的事情 - 删除您的配置文件并重新下载它们。 - Witterquick

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