首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何熟悉代码签名问题?

如何熟悉代码签名问题?
EN

Stack Overflow用户
提问于 2015-02-10 14:27:37
回答 2查看 286关注 0票数 4

每次我处理代码签名和配置配置文件时,都会发生奇怪的事情。大多数情况下,我会得到“没有找到代码签名标识”的错误,如果没有,就会出现“找不到匹配的配置配置文件”和“没有具有有效签名标识的配置文件”等错误。

虽然我对代码签名和配置背后的理论和事情很熟悉,但我每次遇到的陷阱还是很多,我不知道该如何处理。有时,当建立一个新的应用程序时,它会失败,有时则不会。

有5*2种不同的方式来选择代码签名标识。他们之间有什么区别?如果我选择一个用于调试,另一个用于发布,那么“任意iOS SDK"的原因是什么?

另外,有两个地方提供这个对话框:项目设置-设置->构建设置是第一个,也为目标下的构建设置。两者都不同步,所以如果我首先更改代码签名,则必须在第二位更改它两次。有没有办法让它们保持同步?

哪种代码签名标识最适合于不同的行(调试、调试->任何ios、发布->任何ios sdk),因为我可以在开发人员标识和发行标识之间进行选择(我可以想象,发行版是用于发布的,开发人员是用于调试的,但是由于所有的失败,我不知道。

我所做的:

在成员中心为我们团队的每个开发人员保存了一份有效的证书,为团队的每个开发人员保存了一份特别分发的证书。我们还创建了AppID,它反映了项目设置中完全相同的设置。在此期间,我们避免使用变量,并在项目设置中使用精确的appid,以降低这方面的风险并简化操作。

当将供应配置文件从“自动”切换到此应用程序的特定配置文件时,代码签名标识将更改为不同的值,这些值在项目设置和目标生成设置之间也不同步:

在Target->上,我们得到了以下结果:

在Project -> Build设置上,我们得到了一个不同的结果:

哪一个更准确?在“产品”->“归档”“->”验证“之后,我们得到以下错误:

如果我们选择不同的代码签名身份,这并不重要。实际上,仅仅为了播放“跟踪和错误”,我们尝试了几乎每一个代码签名身份的多个组合,以了解XCode随后会做什么。

在存档->验证此错误消息之后,前面选择的配置文件将被替换为另一个由随机生成的字符串命名的配置文件:

谁能告诉我这里发生了什么以及如何解决这些问题?

我读过很多关于这个话题的文件。但是大多数关于这个主题的教程已经过时了,因为XCode 4和XCode 6之间发生了一些变化。甚至苹果文档也提供了基于过时的XCode版本和过时的成员开发中心版本的屏幕截图。

更新

正如伊恩McDonald正确地指出的,最后一个问题(在最后2个截图中)得到了回答。在重新创建供应配置文件之后,它不会被随机生成的字符串所取代,但是IPA创建仍然不能处理“找不到任何代码签名标识”。

现在的样子:

EN

回答 2

Stack Overflow用户

发布于 2015-02-10 14:55:57

您有一个很长的问题,但是如果您面临归档或发布应用程序的问题,您应该遵循以下几个步骤

第一次代码签名

如果您使用Debug构建应用程序,那么调试必须与iPhone developer -> general (如果您使用多个或特定的)“取决于您的密钥链中的证书”进行签名。

但是,如果您使用release构建应用程序,那么您应该对iPhone发行版进行认证

第二供应配置文件

如果您使用Debug构建,那么供应配置文件调试应该与您的包细节相匹配,并进行开发。

在开发者苹果网站上创建的release be分发版

我希望这也能帮你看看this

票数 1
EN

Stack Overflow用户

发布于 2015-02-22 16:47:25

根据我正在阅读的内容,您已经将目标中的配置文件从"xxx.xxx“更改为"xxx.xxxTests”,这实际上是一个不同的包标识符,因此错误是有效的。你真的有两种行动:

  1. 将包标识符更改为"xxx.xxx“。这是阻力最小的适当途径。
  2. 在门户中创建一个新的包标识符为"xxx.xxxTests“,并为绑定到同一证书的"xxx.xxxTests”创建一个新的供应配置文件。关闭XCode后,将新的配置文件拖到XCode应用程序图标上,然后打开项目。

您不应该为了进行测试而更改包标识符。当您准备部署时,您只需更改您的目标正在编译的配置配置文件(开发与发行版)。

编辑:我在这里有一些关于配置配置文件的更多提示:How to become familiar with code signing issues?

快速和肮脏的供应工作方式如下所示:

  • 当您被添加到时,您的证书是城堡的关键。您编译的任何代码都必须与您的证书相关联,否则您将无法正确编译/导出代码。
  • 包标识符本质上是iOS标识应用程序的方式。从概念上讲,如果您想在同一设备上多次安装应用程序,请创建多个包标识符。
  • 您的供应配置文件将所有部分联系在一起。prov配置文件告诉XCode,您计划使用cert来编译由包标识符标识的应用程序。如果它是一个开发构建,它将只有那些专门分配给门户中prov配置文件的设备才能安装您的应用程序。

在XCode中,您需要确保目标包标识符与供应配置文件中的包标识符匹配。同样,确保您的代码签名标识与您在门户中安装的证书匹配,并绑定到供应配置文件。最后,从代码签名标识下面的下拉列表中选择适当的供应配置文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28434126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档