iOS 7.0未找到代码签名标识

时间:2013-10-05 11:54:00

标签: ios ios7 code-signing

  • 证书有效
  • xcode 5
  • iOS 7
  

代码签名错误:未找到代码签名标识:无代码签名   与...匹配的身份(即证书和私钥对)   在构建设置中指定的配置文件(“iOS团队”   找到配置文件:*“)。 CodeSign错误:代码签名是   SDK“iOS 7.0”中的产品类型“应用”需要

18 个答案:

答案 0 :(得分:68)

证书

  1. 撤销以前的证书。
  2. 生成新的开发证书。
  3. 下载证书。
  4. 双击放入KeyChain。
  5. 对于配置资料

    1. 创建新的或编辑现有的配置文件。
    2. 下载并安装。
    3. 对于BundleIdentifier。

      1. com.yourcompanyName.Something(与AppId相同)
      2. enter image description here

        <强> CodeSigningIdentity。

        1. 选择您创建的配置文件。
        2. enter image description here

答案 1 :(得分:44)

我对此问题的解决方法是:

Xcode&gt;喜好。在帐户中,单击您的Apple ID。单击查看详细信息,单击您的项目供应配置文件(我认为这有帮助),然后单击左下角的刷新按钮。

答案 2 :(得分:17)

以为我会用自己的个人经验补充其他答案。

最近我遇到了一个问题,即会构建两个目标,其中两个会因以下错误而失败:

  

代码签名错误:未找到代码签名身份:无有效签名   与团队匹配的身份(即证书和私钥对)   ID“XXXXXXXXXX”被发现。 CodeSign错误:需要代码签名   适用于SDK“iOS 7.1”中的产品类型“应用”

尽管已经更新了Xcode和iOS Developer Center上的所有内容。

提示是构建失败消息中显示的团队ID已过期。

果然,在文本编辑器中打开Xcode的project.pbxproj文件时发现旧的团队ID:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

顺便说一下,要获取project.pbxproj文件,请选择您的.xcodeproj文件,然后按以下所示显示内容:

enter image description here

搜索目标ID D29A93A318AB96440099C177,我发现它与其中一个失败的目标匹配:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

在这种情况下,MyTarget3。要解决此问题,简单的文本搜索会将旧的团队ID替换为新的正确ID。问题解决了。

总结,希望您的情况将使用上面的答案解决,而不是深入研究Xcode的项目文件的复杂性。但是,如果没有,并且错误显示无效的团队ID,则值得检查该团队ID是否仍然存在。

答案 3 :(得分:9)

我在开发过程中遇到了完全相同的问题。

解决了这个问题
  1. 转到XCode偏好设置,查看Apple ID的详细信息,然后删除抱怨的配置文件。
  2. 转到Keychain Access,删除与刚刚删除的配置文件相关的开发证书。
  3. 在Apple Member Center中,下载刚刚在本地删除的开发配置文件,双击该文件以确保它出现在XCode中。
  4. 下载您刚刚在本地删除的开发证书,然后双击以确保它出现在Keychain Access中。
  5. 现在去吧应该不错。

答案 4 :(得分:8)

我刚刚和詹金斯有过这个问题。

解决方案是复制证书并将其粘贴到系统密钥链中,否则Jenkins无法读取证书。

答案 5 :(得分:7)

您不必删除所有配置文件来解决此问题,

在管理器中查看我的设备配置文件时,我看到我的一个配置文件无效。 然后我去了Developer Certificates, Identifiers & Profiles page并且所有配置文件都是活动的,绿色并且看起来很好但是当我在设备上显示无效的那个上点击编辑时,我看到相关帐户中的复选框没有被检查,即使选中全部已选中。我选中了该框以将配置文件与我的证书相关联,下载了配置文件,所有内容都已修复。

在“个人资料”网页上,点击“修改” On your Profiles web page

即使选中“全选”,您也可能会看到没有关联的证书。 Edit you profile![][1]

答案 6 :(得分:4)

对我来说,将Project→Targets / [Your project]→General→Team设置为“None”解决了这个问题。

答案 7 :(得分:2)

这可能听起来很奇怪,但对我来说,重新开始我的mac ..我无法解释为什么和发生了什么,但它现在有效。希望它会帮助某人

答案 8 :(得分:2)

当我使用纯命令行/ jenkins构建脚本时,我到达了此线程,并且我不希望为集成环境手动设置任何单个UI / RDP。

几个小时后,尝试使用jenkins解决完全相同的问题 关键是&#34;安全列表-keychains -s&lt; your_keychain_name&gt;&#34;

---长篇故事---
我在jenkins中使用脚本来覆盖每个项目的设置(配置文件和签名身份) 升级到Xcode 7后,我必须更改上面的脚本添加&#34; list-keychains&#34;在&#34;创建钥匙链&#34;

Updated script here

答案 9 :(得分:1)

您无需删除所有个人资料。我遇到了同样的问题,并通过安装丢失的证书来修复它。您可能忘记为用于代码签名的配置文件安装所需的证书。

  • 确保您已将所需的证书(开发/分发)安装到代码签名配置文件(开发/分发)的钥匙串中。

答案 10 :(得分:1)

尝试更改Bundle Identifier:Project - &gt;目标/ [您的项目] - &gt;一般 - &gt;捆绑标识符

如果app在AppStore上发布,XCode不允许使用相同的包标识符创建应用程序。

答案 11 :(得分:1)

在Xcode 7上定位iOS 8和9.我的开发配置文件很好,我在归档应用程序以便上传到应用程序商店时遇到此错误。这就是我的所作所为:

Xcode&gt;偏好&gt;帐户&gt;查看详情。在iOS Distribution旁边,点击&#34;重置&#34;按钮。这将使您正在使用的分发配置文件无效(因为您重置了分发证书),因此请编辑配置文件以包含新重置的证书。

确保下载新的分发证书和新编辑的分发配置文件。重启Xcode。

答案 12 :(得分:1)

Make sure that your certificate is connected with your private key:

Open Keychain access, login, Certificates. Find the certificate inside the list and see if it is properly paired with your private key.

If certificate is not signed with private key, delete it, go to apple developer page and create new certificate. Sometimes it will be needed to revoke old. This new certificate will be now properly signed with your private key.

Now, when you have new certificate, recreate needed provisioning profiles that will include new certificate in creation process.

Note, when somebody from your team reset this certificate with his private key, this same problem can appear again during the refresh process. I am not sure, but it seems that every developer in team must have own certificate for distribution.

答案 13 :(得分:1)

显然这个问题有不同的原因。 :)

对于我的情况,我的帐户登录已过期...我只是简单地解决了这个问题:

XCode - &gt;偏好 - &gt;帐户 - &gt; Apple ID - &GT;选择相关ID并续订登录...

希望这有帮助!

答案 14 :(得分:0)

转到问题导航器,检查钥匙串访问中是否存在Signing Identity:。如果不是,请下载.cer文件并将其附加到钥匙串。

答案 15 :(得分:0)

拔头发很长一段时间后,我终于找到了一个问题。我在创建配置文件时选择了错误的证书,选择正确的证书,这对我有帮助。在你的情况下,如果它是多个那么你必须逐个尝试才能解决这个问题。

答案 16 :(得分:0)

当我使用Xcode 7.3,OSX 10.11.4为iOS构建设置新的Jenkins框时,我遇到了这个模棱两可的错误,“Command / usr / bin / codesign以退出代码1失败”。

就我而言,我有几件事情是正确的: 是的,我已将证书添加到钥匙串中,包括Apple的根和团队的证书。 2.是的,我通过xcode首选项下载了正确的配置文件。 是的,它甚至可以在xcode中手动构建。

然而,对于詹金斯来说,xcode上可能存在一个缓存问题。有用的是: 1.退出Xcode GUI。 2.返回,然后手动运行一次构建。 3.然后只有Xcode提示允许钥匙串访问授权。 4.Jenkins有一些设置可以解决这个问题,但我的机器是安全的,所以我点击'总是允许xcode访问钥匙串'。

答案 17 :(得分:0)

安装fastlane后,您可以通过

创建和安装开发证书
cert --development
sigh --development