首页 文章

iOS 7.0未找到代码签名标识

提问于
浏览
123
  • 证书有效

  • xcode 5

  • iOS 7

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

19 回答

  • 68

    For Certificate

    • 撤销以前的证书 .

    • 生成新的开发证书 .

    • 下载证书 .

    • 双击以放入KeyChain .

    For Provisioning profile

    • 新建或编辑现有供应配置文件 .

    • 下载并安装 .

    For BundleIdentifier.

    • com.yourcompanyName.Something(与AppId中的相同)

    enter image description here

    CodeSigningIdentity.

    • 选择您创建的配置文件 .

    enter image description here

  • 1

    我对这个问题的解决方法是:

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

  • 2

    确保你的 certificate is connected with your private key

    打开 Keychain access, login, Certificates . 在列表中找到证书,看看它是否与您的私钥正确配对 .

    如果证书未使用私钥签名,请将其删除,转到apple developer页面并创建新证书 . 有时需要撤销旧的 . 此新证书现在将使用您的私钥正确签名 .

    现在,当您拥有新证书时,重新创建所需的配置文件,其中包括创建过程中的新证书 .

    请注意,当您的团队中的某个人使用其私钥重置此证书时,在刷新过程中可能会再次出现同样的问题 . 我不确定,但似乎团队中的每个开发人员都必须拥有自己的分发证书 .

  • 4

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

    对于我的情况,我的帐户登录已过期...我通过简单地解决了它:

    XCode - >首选项 - >帐户 - > Apple ID - >选择相关ID并续订登录...

    希望这可以帮助!

  • 44

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

    最近我有一个问题,即两个目标将构建,两个将失败,出现以下错误:

    代码签名错误:未找到代码签名身份:找不到与团队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 . 问题解决了 .

    To Summarise ,希望您的情况将使用上面的答案解决,而不是深入研究Xcode 's project file. However, if it doesn'的复杂性,并且错误显示无效的团队ID,那么值得检查以确定该团队ID是否仍然存在 .

  • 17

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

    • 转到XCode首选项,查看Apple ID的详细信息,并删除抱怨的配置文件 .

    • 转到Keychain Access,并删除与刚刚删除的配置文件相关的开发证书 .

    • 在Apple Member Center中,下载刚刚在本地删除的开发配置文件,双击该文件以确保它出现在XCode中 .

    • 下载您刚刚在本地删除的开发证书,然后双击以确保它出现在Keychain Access中 .

    • 现在走吧应该不错 .

  • 1

    我刚刚和詹金斯有这个问题 .

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

  • 0

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

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

    在“ Profiles ”网页上,单击"Edit"
    On your Profiles web page

    即使选中"Select All",您可能会看到没有关联的证书 .
    Edit you profile

  • 0

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

  • 2

    经历了一段荒谬的时间试图解决其中一个问题,我肯定能看出这些答案大多数在某些情况下是正确的,我的情况并非少见 .

    我试图部署到应用商店以使用TestFlight进行测试 . 之前的开发人员(不再是项目或公司的一部分)创建了IOS分发证书 . xcode试图告诉我的是,是的,证书是在会员中心,但是你完全不能使用它,因为它不是你的 . 我没有使用它签名所需的私钥,没有任何刷新,重启,撤销对我有帮助 . 您需要开发人员和分发证书才能上传到应用商店 .

    解决方案是使用我的钥匙串中的新签名请求在会员中心创建新的 生产环境 分发证书 . 在线创建证书时,此过程记录良好并进行了描述 . 完成后,在xcode中刷新您的帐户以下载到您的钥匙串,您将是金色的 . 我希望这有助于某人!

  • 0

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

  • 1

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

    几个小时后尝试使用jenkins解决完全相同的问题 .
    关键是"security list-keychains -s <your_keychain_name>"

      • 很长的故事 - -
        我在jenkins中使用脚本来覆盖每个项目的设置(配置文件和签名身份)
        升级到Xcode 7后,我必须在"create-keychains"之后更改上面的脚本"list-keychains"

    Updated script here .

  • 9

    你不需要删除所有的 Profiles . 我有同样的问题,并通过安装缺少的证书来修复它 . 您可能忘记为用于代码签名的配置文件安装所需的证书 .

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

    尝试更改Bundle Identifier:Project - > Targets / [Your project] - > General - > Bundle Identifier

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

  • 7

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

    Xcode>首选项>帐户>查看详细信息 . 在iOS Distribution旁边,单击“重置”按钮 . 这将使您正在使用的分发配置文件无效(因为您重置了分发证书),因此请编辑配置文件以包含新重置的证书 .

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

  • 8

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

  • 0

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

  • 4

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

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

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

  • 1

    安装fastlane后,您可以创建并安装开发证书

    cert --development
    sigh --development
    

相关问题