命令/ usr / bin / codesign失败,退出代码1-代码符号错误

我目前正在向苹果商店提交我的第一个应用程序。 我完成了以下过程

  1. 获得一个开发者帐户
  2. login到成员中心以创build应用程序ID
  3. 使用钥匙串访问请求并接收分发证书
  4. 使用我的ID和证书获得供应configuration文件

当我构build的应用程序,它完全运行在应用程序模拟器和实际的iPad,但是当我切换我的应用程序Archive在iOS设备上,我有一个主要的代码签名错误,我已经附在下面。

 codesign /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app cd /Users/Gaby/Desktop/RoyalAppInspection export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin /usr/bin/codesign --force --sign 79640A11C8D22589BD337496ABB8443581513846 --entitlements /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Intermediates/RoyalAppInspection.build/Debug-iphoneos/RoyalAppInspection.build/RoyalAppInspection.app.xcent /Users/Gaby/Library/Developer/Xcode/DerivedData/RoyalAppInspection-dthvtpxadkslqmhkwdpaqkyujscg/Build/Products/Debug-iphoneos/RoyalAppInspection.app 79640A11C8D22589BD337496ABB8443581513846: no identity found Command /usr/bin/codesign failed with exit code 1 

我不知道该如何解决这个问题,因为我试图确保过程的所有其他方面都能正确完成。

我所担心的一个问题是,当我单击configuration文件文件,它不会打开,“添加到库”不会popup(由于某些原因,我无法访问iphoneconfiguration实用程序。)我手动将.mobileprovision文件添加到我的xcode项目,但我认为这也可能是我的错误的来源。

任何人,你能帮忙吗?

你几乎是靠自己做的,但是最终你的个人资料似乎有些问题。

首先,我会推荐一个工具来“查看”configuration文件,以确保它是正确的: http : //furbo.org/2013/11/02/a-quick-look-plug-in-for-provisioning/

这将只是添加一些关于configuration文件的更多信息,在Finder中select它并按空格键(快速查看)。


检查你的Xcode首选项

  1. Xcode Perferences(CMD +,)
  2. 帐号
  3. select左侧的帐户
  4. select右下angular的查看详细信息
  5. 刷新(使用左下方的小button)

Xcode设置

Xcode将configuration文件存储在~/Library/MobileDevice/Provisioning Profiles

如果你的发行资料不在那里,双击它。

然后,它应该出现在该文件夹中,但具有哈希名称,例如1edf8f42-fd1c-48a9-8938-754cdf6f7f41.mobileprovision在这一点上,快速查看插件派上用场:-)


接下来,检查您的项目设置

  1. select你想在Xcode中build立的目标(不是项目)
  2. 切换到构build设置
  3. 寻找“代码签名”部分
  4. 检查在“Provisioning Profile”(configuration文件)下是否select了正确的configuration文件=>“Release”

构建设置


接下来,检查您的scheme设置

  1. select产品菜单
  2. 打开scheme子菜单
  3. select编辑scheme…
  4. select左侧的“存档”
  5. 生成configuration应设置为“释放”

方案设置


接下来,检查“ 钥匙串访问 Trust设置:

  1. 打开钥匙串访问(Spotlight =>钥匙串)
  2. selectlogin
  3. 点击证书
  4. 寻找iPhone Distribution: Elena Carrasco (8HE2MJLM25)在右边
  5. 点击右键,select“获取信息”
  6. 打开“信任”部分
  7. 设置为“使用系统默认值”
  8. 请为Apple Worldwide Developer Relations Certificate Authority重复步骤5至7

钥匙扣


接下来,检查钥匙串访问私钥Access Control

  1. 从前面的检查重复步骤1到4
  2. 展开configuration文件以使您的私钥可见
  3. 右键点击私钥,select“获取信息”
  4. 切换到“访问控制”
  5. select“允许访问前确认”
  6. 使用“+”button添加“codesign”(通常位于/usr/bin/codesign
    提示:如果没有在文件浏览器中显示,请使用cmd + shift + g手动inputpath
  7. “保存更改”

钥匙扣2

希望这其中的一个欺骗你!


更新(4/22/16):

我刚刚发现了一个关于整个代码签名过程的非常好的解释(这真的值得一读): https : //www.objc.io/issues/17-security/inside-code-signing/

对我来说,下面的步骤工作

  1. 退出Xcode
  2. 打开Terminal
  3. input命令xattr -rc /Users/manabkumarmal/Desktop/Projects/MyProjectHome
  4. 打开Xcode。
  5. 清洗。
  6. 现在工作,没有错误。

这工作对我来说…试一试…

CD /用户/你的用户/库/开发/ Xcode / DerivedData

xattr -rc。

我在Xcode 8和Mac OS Sierra发生了这个错误。 试过以上所有的解决scheme,没有工作。 这是唯一一个为我工作的人。 打开terminal,然后input。

cd ~/Library/Developer/Xcode/DerivedData

xattr -c *

以下步骤为我解决了这个问题。 我遇到了这个问题,它没有编译的设备或归档,工作正常的模拟器。

  1. 打开钥匙串访问。
  2. locking“login”钥匙串。
  3. 解锁它。

在完成上述步骤之后清理并构build,现在一切正常。

对我来说,我只是清理了应用程序,它的工作(cmd + shift + k),消除了错误。 更新到swift 2.3后,我得到了错误。

删除现有的预编译文件。 rm -rf / Users / raghu / Library / Developer / Xcode / DerivedData / Solitare-fdaukpanamlzllacxvdzfbeqcrsg /

并尝试再次构build它。

打开项目到Xcode。 selectproject.app文件并右击它,select“show in finder”选项。 打开terminal并转到project.app文件path。

 Type the following to command one by one. $ xattr -lr project.app $ xattr -cr project.app open the project and run. 

一切d4Rk暗示,这是一个伟大的演习。 如果它还没有签名,你可能会有一些过期或吊销的证书。 当你在一个团队工作时,我发现这可能会发生。

  1. 退出xcode。
  2. 打开钥匙串访问。
  3. 在“证书”部分,通过所有“iPhone分发”证书,如果它们过期,被撤销或以其他方式失效,请删除它们。
  4. 与3相同,但是用于“我的证书”部分。
  5. 重新打开xcode并重试。

对于我“重新启动Mac系统”得到了工作

重新启动也为我工作。 有趣的是,允许Xcode访问证书似乎是一个问题。 当我再次尝试存档时,我收到了2个popup窗口,询问我是否允许Xcode访问我的钥匙串。 之后,它工作正常。

重新启动不适合我。

只要尝试下载并再次将证书添加到keyChain。 这对我有效。 当我检查钥匙串访问时,相应的证书丢失。 当我重新安装证书时得到了问题解决。

删除你的证书在你的开发,然后重新安装,它会工作!

只需重置您的开发和分配证书并清理您的项目。 之后,Reboot也为我工作。 有趣的是,允许Xcode访问证书似乎是一个问题。 当我再次尝试存档时,我收到了2个popup窗口,询问我是否允许Xcode访问我的钥匙串。 之后,它工作正常。

我解决了这个问题。 如果你的项目有.xcdatamodeld文件(意思是你正在使用coreData),那么确保你组成的实体进入它的数据模型检查器,并检查类有codegen,manual / None或classdefination。 如果是类定义,则将其设置为手动/无,然后清理该项目并再次运行。 截图如下:

在这里input图像描述

在这里input图像描述

如果在@ d4Rk解决scheme中没有任何工作正确使用下面的屏幕删除不需要/过期的类似configuration文件。 右键单击configuration文件将其移至垃圾箱。 configuration文件窗口

因为在我执行所有步骤之后,我仍然遇到同样的问题,并且在我删除了具有相同名称的旧过期供应configuration文件,然后在构build设置中使用正确的configuration文件时解决了这个问题。

只需重新启动XCode为我工作。

在我的情况下,更新我的操作系统后,一些豆荚已经过时了。 这是什么修复它:

在docker:

 cd /Users/quaisafzali/Desktop/AppFolder/Application/ pod install 

然后,在Xcode中打开你的项目并清理它(Cmd + Shift + K),然后Build / Run。

这对我有用,希望它可以帮助你们中的一些人!

简单的方法(这将做所有的PNG文件)我用:

在terminal运行这个命令

找 。 -name“* .png”-exec xattr -c {} \;