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