【发布时间】:2015-02-10 14:27:37
【问题描述】:
每次我处理代码签名和配置文件时都会发生奇怪的事情。大多数时候我会收到错误“找不到代码签名身份”,如果没有,则会出现“找不到匹配的配置文件”和“没有具有有效签名身份的配置文件”之类的错误。
虽然我对代码签名和配置背后的理论和内容非常熟悉,但我每次都会遇到很多陷阱,我不知道如何处理。设置新应用时有时会失败,有时不会。
有 5*2 种不同的方式来选择代码签名身份。它们之间有什么区别?如果我选择一个用于调试,一个用于发布,“Any iOS SDK”的原因是什么?
此外,有两个地方给出了这个对话框:Project-Settings -> Buildsettings 是第一个位置,也是 Build Settings 下的 Target。两者都不同步,所以如果我首先更改代码签名,我必须在第二位置更改两次。有没有办法让它们保持同步?
哪种代码签名身份最适合各种行(调试、调试 -> 任何 ios sdk、发布、发布 -> 任何 ios sdk),因为我可以在开发人员身份和分发身份之间进行选择(我可以想象,那发行版用于发布,开发版用于调试,但由于一切都失败了,我不知道。
我做了什么:
我们团队的每个开发人员都在会员中心存放了一份有效证书,并为团队临时分发了一份。 我们还创建了反映项目设置中完全相同设置的 AppID。在这两者之间,我们避免使用变量,并在项目设置中使用确切的 appid 来降低这方面的风险并简化事情。
当将配置文件从“自动”切换到此应用的特定配置文件时,代码签名身份会更改为不同的值,这些值在项目设置和目标构建设置之间也不同步:
在 Target->Build Settings 上,我们得到以下结果:
在项目 -> 构建设置上,我们得到不同的结果:
哪个更准确? 在“产品”->“存档”->“验证”之后,我们得到以下错误:
这里是否选择不同的代码签名身份并不重要。实际上,只是为了玩'trail-and-error',我们尝试了几乎所有代码签名身份的多种组合,以了解 XCode 会做什么。
在此错误消息来自 Archive->Validate 之前选择的配置文件被替换为另一个由随机生成的字符串命名的配置文件之后:
谁能告诉我这里发生了什么以及如何解决这些问题?
我已经阅读了很多关于这个主题的文档。但是大多数关于这个主题的教程都已经过时了,因为 XCode 4 和 XCode 6 之间发生了一些变化。即使是苹果文档也提供了基于过时 XCode 版本和会员开发中心过时版本的屏幕截图。
更新
正如 Ian McDonald 正确指出的那样,最后一个问题(由最后 2 个屏幕截图涵盖)得到了回答。重新创建配置文件后,它不会被随机生成的字符串替换,但 IPA 创建仍然无法使用“未找到代码签名身份”。
现在的样子:
【问题讨论】:
-
有人,请将此 SO 问题转发给 Tim Cook。
-
那不是“随机生成的字符串”;这是您的机器上不再安装的配置文件的标识符。
-
感谢您指出这一点,伊恩。我重新创建了一个配置文件,现在它不会被随机字符替换。但是仍然找不到代码签名身份,如问题更新中所述(最后)
标签: ios xcode provisioning-profile ios-provisioning