/usr/bin/协同设计失败,退出代码1

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

/usr/bin/协同设计失败,退出代码1

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

129005 次浏览

更新:
我原来答案中的技术说明现在已经废弃了。苹果在一份新的文档中发布了一系列代码签名问题(和一些解决方案) : 技术注释 TN2407代码签名故障排除索引

检查生成设置中的 CODE _ SIGN _ IDENTITY 属性。是否在那里选择了配置文件?
您还需要在 apps.plist 中输入一个有效的 bundle 标识符。
标识符必须与生成配置文件时提供的标识符相匹配。
苹果公司有一个关于 给你的技术说明。

我发现你可以在 Xcode 右键点击错误信息,然后选择展开来获得更多的细节,包括对问题的描述。

在我的例子中,在不同的密钥链文件中有两份同名的开发人员证书副本,Xcode 无法找出使用哪一份。

我也有同样的问题。最后我发现我的私钥不允许协同设计访问它。在密钥链应用程序的信息对话框中可以看到这一点。

我不得不同意托拜厄斯。这个错误太一般了。当同样的事情发生在我身上时,我深入研究了错误消息,意识到我在构建属性中搞砸了一些东西,但是没有搞砸代码签名。所以我会仔细研究细节。

一个可能的原因是您没有对生成目录进行写操作的权限。

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

我只是遇到了这个错误,这是因为我试图写的构建文件到一个网络驱动器不工作。从我的桌面再次尝试,它工作得很好。(您可能必须在移动构建后“清理”它。只需从“构建”下拉菜单中选择“清除所有目标”)。

Tobias 是正确的,可以通过右键单击代码来深入了解代码的细节,看看具体的问题是什么。

我在发行版本上也遇到了同样的问题。一切都发生得太突然了。事实上,几天前我还没有这个问题,而且我有我的 Ad-Hoc 版本的编译权。出现这个问题是因为我的证书今天刚刚过期。因此,我按照苹果的指导创建了一个新的临时 http://developer.Apple.com/ios/manage/distribution/index.action :。

在网上花了几个小时,并确保我没有陷入什么可能出错。以下是托拜厄斯和丹 · 雷提出的拯救我的建议:

  1. “ ... 发现你可以在 Xcode 右键点击错误信息查看详细信息”。
  2. “ ... 问题是我的系统密钥链上的一个过期证书。密钥链访问在默认情况下不显示过期证书”。

详细的信息告诉我关于两个证书的模糊匹配。其中一个证书碰巧是 System 密钥链中的过期证书。所以我删除了过期的那一个,然后它的工作!我还担心在使用 keychain 实用程序创建分发证书时,在“通用名称”中输入什么: 我的名称或我的公司名称。在我的情况下,我输入了我的名字。我猜这是相同的标题,由开发者的自动回复电子邮件地址。

帮了大忙,谢谢。

在我的案例中,错误是由于我在钥匙链上有两个同名的键。我把旧的删了,问题就解决了。

去细节信息显示真正的问题给我。

经过几个小时的谷歌搜索和尝试不同的东西,这是什么修复了我:

  1. 确保在“系统 > 证书”选项卡中的“钥匙链访问”上没有证书。从那里删除所有重复的证书。

  2. 除了开发人员证书之外,还要在供应门户的证书下安装 WWDR 中间证书,并确保在 Keychain Access 上的 Login > Securities 选项卡中看到它。

希望这对你们有所帮助!

模棱两可的问题也一样(匹配“ iPhone Developer: [ me ]”和///tweetdeck 的库私有数据文件。通过将文件移动到垃圾桶并重新登录到 Tweetdeck,再次设置密码,修复了这个问题。真痛苦。

我也犯了同样的错误,尝试了所有的方法,包括这页上其他地方的方法,都没有成功。对我来说,问题在于在 Keychain Access 中,实际的苹果 WWDR 证书被标记为“ 永远相信”。必须是“ 系统默认值”。您的开发和分发证书也是如此。如果它们中的任何一个被错误地设置为“ 永远相信”,显然会导致这个问题。

因此,在 Keychain Access 中,单击 Apple Worldwide Developer Relations Authority 证书,选择 去找信息。然后,展开信任设置,对于“ 使用此证书时:”的组合框,选择“ 系统默认值”。

其他人评论说,对于这些 错误,您可能必须在 系统登入键链中执行此操作。

我也有同样的问题,但是在错误日志中也列出了: CSSMERR _ TP _ CERT _ NOT _ VALID _ YET

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

我还得到了这个错误(“/usr/bin/codesign 未通过退出代码1”) ,当我查看 Keychain Access 时,我的开发人员证书被标记为“这个证书是由一个未知的权威机构签署的”。我最近升级到了 Mac OS 10.8,从那以后又遇到了一些其他的 XCode (4.5.2)问题。原来我没有安装 WWDR 中间证书。我从 iOS 供应门户下载,安装在钥匙链访问,我的项目再次构建!

对我有效的方法是在构建设置中将 --deep添加到 其他代码签名标志。 更多信息请点击这里: Dropbox API 的协同设计在 Xcode 失败4.6.3: “代码对象根本没有被签名”

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

有一件事你需要注意(这是我犯的一个愚蠢的错误,但它确实发生了) ,那就是连接到 CSR 的电子邮件地址必须与连接到你的 Apple Dev 帐户的电子邮件地址相同。一旦我使用了一个新的 CSR 并重建了所有的证书和供应配置文件,那么一切都很顺利。

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

enter image description here

如果紧接在协同设计错误之前的错误显示“资源分支、查找器信息或类似碎片不允许”之类的内容

然后导航到 Terminal 中的. app 文件并键入:

Xattr-cr < path _ to _ app _ bundle >

档号: https://developer.apple.com/library/content/qa/qa1940/_index.html

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

1) 寻找

2) Xattr-rc.

这对我有用。

有时你的构建文件夹只是需要清理-它当然为我工作。感谢 游手好闲的人的解决方案。

还有一个原因, 检查您的 Developer 帐户是否与 xCode 连接

enter image description here

当你得到这样的错误时,可能有很多原因:

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

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

enter image description here

  1. Goto 文件-> 项目设置-> 派生数据,并删除您的项目构建文件夹。

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

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

步骤如下:

  1. 去钥匙扣那里
  2. 锁上
  3. 将代码存档,再次构建项目

这个问题有点老套,但似乎还是会发生。另一个解决方案:

在返回 git 中的分支后发生。 试过清理、清理构建、删除派生代码并重新启动 Xcode,但没有结果。

试试重启电脑。

我在合作设计时犯了你提到的那个未知错误。与提供的答案类似(但有一点不同) ,我只是锁定了我的钥匙链访问并解锁了它,然后我就能够再次构建并运行到我的设备上。如果有人遇到同样的问题,也许应该在修改密钥链密码之前先尝试一下。

把我的评论扔进圈子里,我只是在试图刷新我的开发环境后偶然点击了一个应用程序请求的 DENY,在搜索了一下之后,我发现了一些似乎不起作用的东西。以下是我尝试修复的全部顺序,以及是否成功:

1)尝试清除衍生文件并重新启动 XCode-没有骰子

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

3)尝试在 XCode 中刷新我的开发人员帐户——没门

4)咬紧牙关,重新设置我的整个钥匙链,在这样做之后,我的开发人员帐户被签出(签回) ,然后重新启动 XCode-没有骰子

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

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

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

我必须返回并再次删除证书,然后在一个干净的构建过程中执行大约20个允许对话框。一旦完成,我就可以完全。

以我为例,经过几天的研究,

我所做的旋转列表如下:

  1. 删除密钥链上的所有证书。
  2. 去你的苹果账户。A)下载要安装在密钥链上的指定证书。B)(可选)也创建和下载所需的配置文件。
  3. 在 Xcode,清理你的项目。这可能需要一些时间。
  4. 构建您的项目。

这应该可以解决类似的协同设计问题。

注意,在这个过程中,操作系统会要求您的证书验证。

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

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

我认为问题在于 Keychain Access 和证书信任。

尝试从 https://www.apple.com/certificateauthority/添加以下证书 Apple Worldwide Developer Relations Certification Authority(有效期至2030)

证书中指示的信任警告将被修复,然后再次尝试构建 iOS 应用程序