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


80

我正在尝试部署我的第一个开发iPhone应用程序,但遇到了一些问题。我已经通过在线资源调配助手成功完成工作,但是现在我陷入了困境。无论我做什么,我总是会收到以下错误。

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

任何人都知道为什么会这样吗?



1
stackoverflow.com/a/44889440/2252866此解决方案为我工作。我正在开发macOS应用。
Mediajon

Answers:


55

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

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


1
原来是有效的捆绑包标识符是问题所在。感谢您的帮助,现在已修复。
PF1

您如何“输入有效的捆绑包标识符”?其中一个看起来像什么?
2011年

捆绑包的标识符是分配给plist键CFBundleIdentifier的反向DNS表示形式的字符串(例如com.apple.dt.Xcode)。更多关于它的位置:developer.apple.com/library/ios/#documentation/General/...
托马斯Zoechling

甚至都不知道该设置在那里。你是救生员。
dclowd9901 2013年

25

我刚遇到此错误,这是我发现的内容,以防对任何人有帮助:我发现您可以右键单击Xco​​de中的错误消息,然后选择“扩展”以获取更多详细信息,包括问题的描述。

就我而言,我在不同的钥匙串文件中有两个同名的开发人员证书副本,而Xcode找不到要使用的证书。


您是如何解决的?我遇到了同样的问题,但“钥匙串访问”仅向我显示一个证书。
丹·雷

11
我找到了。作为记录,该问题是我的系统钥匙串上的过期证书。默认情况下,“钥匙串访问”不显示过期的证书。我去了系统钥匙串,让KA告诉我有关过期证书的信息,删除了与我在登录钥匙串上的正确证书冲突的过期证书,以及鲍勃的叔叔。
丹·雷

托比亚斯,你真聪明。感谢您找到该右键单击技巧。
格雷格·科布斯

我也有这个问题。以我为例,将其扩展表示通用名称“模棱两可”,因为所有事物的TweetDeck似乎已垄断了我的帐户登录中的钥匙串。我不得不进入Library / Application Support / Adob​​e / Air / ELS /并删除其中的文件。然后一切正常。怪异的!
2010年

就我而言,问题是使用无效证书连接到我的Mac mini的智能卡。
Giorgio

18

对于Xcode 9.0中的codesign问题,这可能是一个奇怪的答案。我也收到此错误,也不知道要做什么,因为一切都正确。

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

步骤为:

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

这项工作有效- accountsd在更新后重新启动时要求钥匙串访问,但我拒绝了,因为下面的模式很奇怪。弹跳钥匙串是诀窍
沃伦·伯顿

14

我遇到了完全相同的错误,并尝试在阳光下进行所有操作,包括本页其他位置的操作,但均未成功。对我来说,问题是在钥匙串访问中,实际的Apple WWDR证书被标记为“ Always Trust ”。它必须是“系统默认值”。您的开发和发行证书也是如此。如果它们中的任何一个被错误地设置为“ Always Trust ”,显然都可能导致此问题。

因此,在“钥匙串访问”中,单击“ Apple全球开发者关系证书颁发机构”证书,选择“获取信息”。然后,展开“信任”设置,并为“使用此证书时: ”的组合框选择“系统默认值”。”。

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


非常感谢,自最近三天以来,我一直面临这个问题,并且做了很多尝试,例如从“我的证书”中删除所有证书,删除Apple ID等,但是当我单击“ Apple全球开发者关系证书颁发机构”证书并选择“获取”
Ankit

9

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

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

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

在此处输入图片说明

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

是的@cesarak,我认为这是钥匙串中的某种错误。
Rahul Kumar

6

我在发行版构建中遇到了同样的问题。它只是突然发生了。实际上,几天前我还没有遇到这个问题,并且我的Ad-Hoc版本可以正确编译。由于我的证书今天才过期,因此出现了此问题。因此,我按照苹果公司的指导创建了一个新的临时产品:(http://developer.apple.com/ios/manage/distribution/index.action)。

在网上花了几个小时之后,确保我没有因为可能出问题而倒下。这是Tobias和Dan Ray所建议的拯救我的东西:

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

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

很大的帮助。谢谢。


2

对我有用的是在构建设置中添加--deep其他代码签名标志。此处的更多信息:Dropbox API的协同设计在Xcode 4.6.3中失败:“代码对象根本未签名”

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


1
嗨,马特,谢谢!这让我发疯了..我几次辞职,一切都没用..-深深的帮助..但是最后我想那是我错过了在XCode中添加我的开发人员帐户..还是很奇怪..
卢卡斯2015年


1

我有同样的问题。最后,事实证明我的私钥不允许codesign访问它。可以在钥匙串应用程序的信息对话框中看到这一点。


1

我必须同意Tobias。该错误过于笼统。当同一件事发生在我身上时,我仔细研究了错误消息并意识到,我已经搞砸了build属性中的某些内容,而不是代码签名。是的,我会深入研究细节。


1
您应该将其作为用户问题下方的注释。
Matteo Alessani 2012年

1

在我的情况下,由于我在钥匙串上有两个具有相同名称的钥匙,导致了错误。我删除了旧的,那解决了问题。

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


1

经过数小时的谷歌搜索和尝试不同的事情,这对我来说是固定的:

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

  2. 除了开发人员证书之外,还要在供应门户网站的证书下安装WWDR中间证书,并确保您在“钥匙串访问”的“登录”>“证书”选项卡中看到该证书。

希望这对您有所帮助!


1

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


1

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

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


1

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


1

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

在此处输入图片说明



0

一种可能的原因是您无权在构建目录上进行写操作。

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


0

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

不过Tobias是正确的,通过右键单击它来探究代码的详细信息,以查看您的特定问题是什么。


0

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



0

金达的老问题,但似乎仍然发生。另一个解决方案:

在git中还原分支后对我来说是发生的。尝试清理,清理构建,删除派生的Xcode并重新启动Xcode,但是没有运气。

尝试重新启动补偿。


0

您提到的代码签名中存在相同的未知错误。与提供的答案类似(但有所不同),我只是锁定了钥匙串访问权限并对其进行了解锁,因此能够再次构建并运行到我的设备上。如果有人遇到相同的问题,请先尝试一下,然后再解决修改钥匙串密码的麻烦。


0

把我的评论扔进去,我只是在偶然地在一个应用程序请求上单击DENY之后尝试刷新我的开发环境之后才发现这一点,在四处寻找之后,我发现许多事情似乎没有用。这是尝试修复的完整顺序以及是否成功:

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

2)尝试登录并解锁钥匙串,然后重新启动XCode-无骰子

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

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

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

6)然后,我查看了我的实际开发人员证书登录名/我的证书/ Mac Developer:当我在其中查看时,将其正确设置为“确认”,然后才允许访问,但下部没有任何条目。应该有[Xcode,codesign,productbuild]。我删除了证书条目并重新启动了XCode-Bingo

添加了证书,然后提示我。所以我做了什么,我按了“ allow allow”(总是允许),然后才勉强自己。

我必须返回并再次删除证书,然后在进行干净构建时经历大约20个“允许”对话框。一旦完成,我就可以完全构建。


0

就我而言,经过几天的研究,

下面列出了我所做的所有工作:

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

这应该适用于类似的codesign问题。

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


-1

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

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

2)xattr -rc。

这对我有用。


找 。-类型f -exec xattr -c {} \;
Sage

这对我有用。找 。-类型f -exec xattr -c {} \;
Sage

这是什么?
亚罗士打
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.