【问题标题】:/usr/bin/codesign failed with exit code 1/usr/bin/codedesign 失败,退出代码为 1
【发布时间】:2010-11-08 14:01:17
【问题描述】:

我正在尝试部署我的第一个开发 iPhone 应用程序,但遇到了一些问题。我已经成功地通过了在线供应助手,但现在我被卡住了。不管我做什么,我总是得到以下错误。

/usr/bin/codedesign 失败,退出代码为 1

有人知道为什么会这样吗?

【问题讨论】:

标签: iphone ios xcode deployment code-signing


【解决方案1】:

我使用 Xamarin,对我来说,这是在尝试了其他所有方法后奏效的方法。 在 Visual Studio for Mac 中,我打开了一个 .xib 文件,以便它在 Xcode 中打开项目。

进入项目设置>签名和能力,选择团队,然后修复签名证书。

【讨论】:

    【解决方案2】:

    在我的案例中,经过几天的研究,

    我所做的一切都在下面列出:

    1. 删除钥匙串上的所有证书。
    2. 转到您的苹果帐户。 a) 下载您要在钥匙串上安装的指定证书。 b)(可选)同时创建并下载所需配置文件。
    3. 在 Xcode 中,清理您的项目。这可能需要一些时间。
    4. 构建您的项目。

    这应该适用于类似的代码设计问题。

    请注意,在此过程中,操作系统会要求您进行凭据验证。

    【讨论】:

      【解决方案3】:

      将我的 cmets 扔进戒指中,我只是在尝试刷新我的开发环境后偶然在一个应用程序请求上单击 DENY 后遇到了这个问题,在四处搜索后,我发现了许多似乎不起作用的东西。这是我尝试修复的完整顺序以及是否成功:

      1) 尝试清除 DerivedFiles 并重新启动 XCode - 没有骰子

      2) 尝试记录和解锁钥匙串,然后重新启动 XCode - 没有骰子

      3) 尝试在 XCode 中刷新我的开发者帐户 - 没有骰子

      4) 咬紧牙关,只是重置我的整个钥匙串,这样做之后我的开发者帐户被注销(重新登录),然后重新启动 XCode - 没有骰子

      5) 在这里找到一篇文章说我们需要将 [login|local|System]/certificate/Apple Worldwide Developer Relations 证书颁发机构设置为“系统默认值”。但在我的情况下,它已经设置为系统默认值 - 没有骰子

      6) 然后我查看了我的实际开发人员证书登录/我的证书/Mac 开发人员:当我在那里查看时,它在允许访问之前正确设置为确认,但下部没有条目。应该有 [Xcode, codesign, productbuild]。我删除了证书条目并重新启动了 XCode - 宾果游戏

      证书已添加,然后我收到提示。所以我做了什么,我按下了“总是允许”,然后就自己去骨了。

      我不得不返回并再次删除证书,然后在干净构建期间经历大约 20 个允许对话框。完成后,我就可以完全构建了。

      【讨论】:

        【解决方案4】:

        我在代码设计中遇到了与您提到的相同的未知错误。与提供的答案类似(但略有不同),我只是锁定了我的钥匙串访问权限并将其解锁,我能够再次构建并运行到我的设备。如果有人遇到同样的问题,不妨先尝试一下,然后再修改钥匙串密码。

        【讨论】:

          【解决方案5】:

          有点老问题,但似乎仍然会发生。另一种解决方案:

          在 git 中恢复分支后发生在我身上。 尝试清理、清理构建、删除派生并重新启动 Xcode,但没有运气。

          尝试重新启动计算机。

          【讨论】:

            【解决方案6】:

            对于 Xcode 9.0 中的协同设计问题,这可能是一个奇怪的答案。我也收到了这个错误,不知道该怎么办,因为一切都是正确的。

            我去了钥匙串,我有登录选项“解锁”。我锁定它并再次编译我的构建。 Xcode 本身要求我打开访问钥匙串。我提供了访问权限,并且成功了。

            步骤是:

            1. 转到钥匙串
            2. 锁定它
            3. 存档代码,再次构建项目

            【讨论】:

            • 这行得通 - accountsd 要求在更新后重新启动时访问钥匙串,因为下面的模式很奇怪,我将其驳回。弹开钥匙链是诀窍
            【解决方案7】:

            出现这种错误可能有很多原因:

            1. 检查您是否在设置中选择了包含有效代码签名身份和有效捆绑标识符的配置文件。 (转到构建设置->签名->配置文件)。

            2. 打开钥匙串访问并点击左上角的锁图标,它会锁定登录钥匙串,然后再次点击解锁。

            1. 转到文件->项目设置->派生数据并删除您的项目构建文件夹。之后清理并构建您的应用。

            【讨论】:

            • 是的@cesarak,我认为这是钥匙串中的某种错误。
            【解决方案8】:

            另一个原因, 检查您的开发者帐户是否已与 xCode 关联

            【讨论】:

              【解决方案9】:

              有时您的构建文件夹只需要清理 - 它确实对我有用。感谢loafer-project 的解决方案。

              【讨论】:

                【解决方案10】:

                在终端打开项目路径,在终端输入以下命令

                1) 找到 . | xargs -0 xattr -c

                2) xattr -rc .

                这对我有用。

                【讨论】:

                • 找到 . -type f -exec xattr -c {} \;
                • 这个对我有用;找 。 -type f -exec xattr -c {} \;
                • 这是什么?
                【解决方案11】:

                如果紧接在代码设计错误之前的错误提示“不允许使用资源分叉、Finder 信息或类似的碎屑”

                然后导航到终端中的 .app 文件并输入:

                xattr -cr

                参考:https://developer.apple.com/library/content/qa/qa1940/_index.html

                【讨论】:

                  【解决方案12】:

                  当我收到此错误时,我什至没有尝试签署应用程序。我正在编写一个测试应用程序,并不关心签名。 为了摆脱这条消息,我必须从代​​码签名下的构建设置中选择“不要代码签名”。

                  【讨论】:

                    【解决方案13】:

                    您需要注意的一件事(我认为这是一个愚蠢的错误,但确实会发生),即附加到 CSR 的电子邮件地址必须与连接到 Apple Dev 的电子邮件地址相同帐户。一旦我使用了新的 CSR 并重建了所有证书和配置文件,Applesville 一切都很好。

                    【讨论】:

                      【解决方案14】:

                      更新:
                      我原始答案中的技术说明现已弃用。 Apple 在新文档中发布了一系列代码签名问题(以及一些解决方案):Technical Note TN2407 Code Signing Troubleshooting Index

                      检查构建设置中的 CODE_SIGN_IDENTITY 属性。是否在此处选择了您的配置文件?
                      您还需要在您的应用 .plist 中输入有效的捆绑包标识符。
                      标识符必须与您在生成配置文件时提供的标识符相匹配。
                      Apple 有一个关于 here 的技术说明。

                      【讨论】:

                      • 原来有效的包标识符是问题所在。感谢您的帮助,现已修复。
                      • 如何“输入有效的捆绑包标识符”?其中一个是什么样的?
                      • 捆绑包的标识符是一个反向 DNS 表示法的字符串(例如 com.apple.dt.Xcode),分配给 plist 键 CFBundleIdentifier。更多信息在这里:developer.apple.com/library/ios/#documentation/General/…
                      • 甚至不知道有这个设置。你是一个救生员。
                      【解决方案15】:

                      对我有用的是将--deep 添加到构建设置中的其他代码签名标志。 更多信息在这里:Codesign of Dropbox API fails in Xcode 4.6.3: "code object is not signed at all"

                      不幸的是,这种模棱两可的错误条件有 400 种不同的解决方案,但我离题了。

                      【讨论】:

                      • 嗨,马特,谢谢!这让我发疯了..我辞职了几次,但没有成功..好吧--deep有帮助..但最后我想是我错过了在XCode中添加我的开发者帐户..无论如何这真的很奇怪..
                      【解决方案16】:

                      我遇到了完全相同的错误,并且在阳光下尝试了所有方法,包括此页面上其他地方的内容,但没有成功。对我来说问题是在 Keychain Access 中,实际的 Apple WWDR 证书被标记为“Always Trust”。它必须是“系统默认值”。这也适用于您的开发和分发证书。如果它们中的任何一个被错误地设置为“始终信任”,这显然会导致此问题。

                      因此,在 Keychain Access 中,单击 Apple Worldwide Developer Relations 证书颁发机构证书,选择 Get Info。然后,展开信任设置,对于“When using this certificate:”的组合框,选择“System Defaults”。

                      其他人评论说,对于这些错误,您可能必须在 Systemlogin 钥匙串中执行此操作。

                      【讨论】:

                      • 非常感谢,自从过去 3 天以来,我一直面临着这个问题,并且尝试了很多事情,例如从我的证书中删除所有证书,删除 Apple Id 等,但当我 点击时终于工作了Apple 全球开发者关系证书颁发机构证书,选择获取信息。然后,展开信任设置,对于“使用此证书时:”的组合框,选择“系统默认值”。
                      【解决方案17】:

                      我也收到此错误(“/usr/bin/codesign 失败,退出代码为 1”),当我查看 Keychain Access 时,我的开发人员证书被标记为“此证书由未知机构签名”。我最近升级到 Mac OS 10.8 并且从那时起遇到了其他几个 XCode (4.5.2) 问题。原来我没有安装 WWDR 中间证书。我从 iOS Provisioning Portal 下载了它,在 Keychain Access 中安装了它,我的项目再次构建!

                      【讨论】:

                        【解决方案18】:

                        我遇到了同样的问题,但在错误日志中也列出了:CSSMERR_TP_CERT_NOT_VALID_YET

                        查看 KeyChain 中的证书显示了类似的消息。问题是由于我的 Mac 的系统时钟设置不正确。一旦我设置了正确的区域/时间,证书就会被标记为有效,我可以在 iPhone 上构建和运行我的应用程序

                        【讨论】:

                          【解决方案19】:

                          同样的问题与模棱两可(匹配“iPhone Developer: [me]”和 /// tweetdeck 的库 privatedata 文件。通过将文件移动到垃圾箱并重新登录到 Tweetdeck 来修复它,再次设置密码。真是痛苦。

                          【讨论】:

                            【解决方案20】:

                            经过数小时的谷歌搜索和尝试不同的事情,这是为我解决的问题:

                            1. 确保 Keychain Access 上的系统 > 证书选项卡中没有证书。从那里删除所有重复的证书。

                            2. 除了开发人员证书之外,还可以在来自供应门户的证书下安装 WWDR 中间证书,并确保您在 Keychain Access 的“登录”>“证书”选项卡中看到它。

                            希望这对你们中的一些人有所帮助!

                            【讨论】:

                              【解决方案21】:

                              在我的情况下,错误是由于我在钥匙串上有两个同名的钥匙。我删除了旧的并解决了问题。

                              转到详细消息向我展示真正的问题。

                              【讨论】:

                                【解决方案22】:

                                我在发行版构建时遇到了同样的问题。它只是突然发生的。事实上,几天前我没有遇到这个问题,而且我的 Ad-Hoc 版本编译正确。出现这个问题是因为我的证书今天刚刚过期。因此,我按照 Apple 的指导创建了一个新的临时文件:(http://developer.apple.com/ios/manage/distribution/index.action)。

                                在网上花了几个小时并确保我没有因为可能出错的事情而跌倒。这是 Tobias 和 Dan Ray 建议的拯救我的方法:

                                1. “...发现可以右键Xcode中的错误信息查看详情”。
                                2. “...问题是我的系统钥匙串上的过期证书。默认情况下,钥匙串访问不显示过期证书”。

                                详细信息告诉我关于模糊匹配两个证书。其中一个恰好是系统密钥链中的过期证书。所以我删除了过期的然后它起作用了!在使用钥匙串实用程序创建分发证书时,我还担心在“通用名称”中输入什么:我的名字或我的公司名称。就我而言,我输入了我的名字。我猜它与开发人员的自动回复电子邮件中的标题相同。

                                帮助很大。谢谢。

                                【讨论】:

                                  【解决方案23】:

                                  我刚刚遇到此错误,这是因为我试图将构建文件写入无法正常工作的网络驱动器。从我的桌面再次尝试,它工作得很好。 (您可能需要在移动构建后“清理”它。只需从“构建”下拉菜单中选择“清理所有目标”)。

                                  不过,Tobias 是正确的,请通过右键单击代码来深入了解代码的详细信息,看看您的具体问题是什么。

                                  【讨论】:

                                    【解决方案24】:

                                    一个可能的原因是您没有在构建目录上写入的权限。

                                    解决方案:删除项目文件夹中的所有构建目录并重新构建应用程序。

                                    【讨论】:

                                      【解决方案25】:

                                      我必须同意托比亚斯的观点。错误太笼统了。当同样的事情发生在我身上时,我深入研究了错误消息并意识到我在构建属性中搞砸了一些东西,而不是代码签名。所以,是的,我会深入研究细节。

                                      【讨论】:

                                      • 您应该将此作为评论指向用户的问题下方。
                                      【解决方案26】:

                                      我遇到了同样的问题。最后发现我的私钥不允许 codesign 访问它。可以在钥匙串应用程序的信息对话框中看到这一点。

                                      【讨论】:

                                        【解决方案27】:

                                        我刚刚遇到了这个错误,如果这对任何人都有帮助,我发现了以下内容:我发现您可以右键单击 Xcode 中的错误消息并选择展开以获取更多详细信息,包括问题的描述。

                                        在我的例子中,我在不同的钥匙串文件中有两个同名的开发者证书副本,Xcode 无法确定要使用哪一个。

                                        【讨论】:

                                        • 你是如何解决这个问题的?我遇到了同样的问题,但 Keychain Access 只显示一个证书。
                                        • 我找到了。作为记录,问题是我的系统钥匙串上的过期证书。默认情况下,钥匙串访问不显示过期证书。我去了系统钥匙串,让 KA 告诉我有关过期证书的信息,删除了与登录钥匙串上我正确的证书和鲍勃的叔叔冲突的过期证书。
                                        • 托拜厄斯,你太棒了。感谢您发现右键单击技巧。
                                        • 我也有这个问题。在我的情况下,扩展它表明通用名称是“模棱两可的”,因为所有事物的 TweetDeck 似乎都为我的帐户登录而征用了钥匙串。我不得不进入 Library/Application Support/Adobe/Air/ELS/ 并清除位于那里的文件。然后一切正常。奇怪!
                                        • 在我的情况下,问题是智能卡连接到我的 mac mini 时证书无效。
                                        猜你喜欢
                                        • 2011-11-19
                                        • 1970-01-01
                                        • 2017-01-29
                                        • 1970-01-01
                                        • 2015-10-14
                                        • 2011-10-27
                                        相关资源
                                        最近更新 更多