【发布时间】:2015-01-13 23:36:40
【问题描述】:
据我所知,代码签名身份用于签署应用程序。并且代码签名身份对调试很有用(在构建设置->代码签名身份中使用开发人员证书),因为应用程序将直接在配置的设备上运行
但是为什么Debug下面有个选项叫Release呢?
如果我们想要分发我们的应用程序,我们需要先将其归档。然后将其导出到 ipa。在导出的过程中,Xcode会弹出一个窗口让你重新选择分发证书。
所以如果我们可以在这里选择分发证书,为什么我们需要在项目设置中指定证书? (在 Build Setting->Code Signing Identity, Release 中)?
让我更困惑的是,即使我在 Release 中指定了 Developer 证书(与我在 Debug 中指定的证书相同),我也可以成功归档应用程序。看来Release部分没用了。
我还检查了存档,发现该应用已签名。那么另一个问题是从存档导出到ipa是一个重新签名的过程吗?
P.S 我用的是 XCode 5 和 6。
【问题讨论】:
-
您应该测试使用 Release(或您用于最终构建的任何配置)配置构建的应用程序,虽然如果您通过 Xcode 运行它会留下错误的地方,但它可以节省大量当您自己测试应用程序时,有时间这样做。
-
@A-Live,如果我们直接从 Xcode 在设备上启动应用程序,我们会使用 Debug 配置。如果我们创建用于测试的 ad-hoc 应用程序,如我所说,从存档导出到 ad-hoc 将弹出一个窗口让我再次选择证书,而不是自动使用我在 Release 配置中指定的证书。所以我不太明白为什么Xcode为分发证书提供Release配置而不使用(导出时再次弹出)
标签: ios xcode code-signing