命令/ usr / bin / codesign失败,退出代码1-代码符号错误
我目前正在向苹果商店提交我的第一个应用程序。 我完成了以下过程
- 获得一个开发者帐户
- login到成员中心以创build应用程序ID
- 使用钥匙串访问请求并接收分发证书
- 使用我的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首选项 :
- Xcode Perferences(CMD +,)
- 帐号
- select左侧的帐户
- select右下angular的查看详细信息
- 刷新(使用左下方的小button)
Xcode将configuration文件存储在~/Library/MobileDevice/Provisioning Profiles
如果你的发行资料不在那里,双击它。
然后,它应该出现在该文件夹中,但具有哈希名称,例如1edf8f42-fd1c-48a9-8938-754cdf6f7f41.mobileprovision
在这一点上,快速查看插件派上用场:-)
接下来,检查您的项目设置 :
- select你想在Xcode中build立的目标(不是项目)
- 切换到构build设置
- 寻找“代码签名”部分
- 检查在“Provisioning Profile”(configuration文件)下是否select了正确的configuration文件=>“Release”
接下来,检查您的scheme设置 :
- select产品菜单
- 打开scheme子菜单
- select编辑scheme…
- select左侧的“存档”
- 生成configuration应设置为“释放”
接下来,检查“ 钥匙串访问 Trust
设置:
- 打开钥匙串访问(Spotlight =>钥匙串)
- selectlogin
- 点击证书
- 寻找
iPhone Distribution: Elena Carrasco (8HE2MJLM25)
在右边 - 点击右键,select“获取信息”
- 打开“信任”部分
- 设置为“使用系统默认值”
- 请为
Apple Worldwide Developer Relations Certificate Authority
重复步骤5至7
接下来,检查钥匙串访问私钥Access Control
:
- 从前面的检查重复步骤1到4
- 展开configuration文件以使您的私钥可见
- 右键点击私钥,select“获取信息”
- 切换到“访问控制”
- select“允许访问前确认”
- 使用“+”button添加“codesign”(通常位于
/usr/bin/codesign
)
提示:如果没有在文件浏览器中显示,请使用cmd + shift + g
手动inputpath - “保存更改”
希望这其中的一个欺骗你!
更新(4/22/16):
我刚刚发现了一个关于整个代码签名过程的非常好的解释(这真的值得一读): https : //www.objc.io/issues/17-security/inside-code-signing/
对我来说,下面的步骤工作
- 退出
Xcode
。 - 打开
Terminal
。 - input命令
xattr -rc /Users/manabkumarmal/Desktop/Projects/MyProjectHome
- 打开Xcode。
- 清洗。
- 现在工作,没有错误。
这工作对我来说…试一试…
CD /用户/你的用户/库/开发/ Xcode / DerivedData
xattr -rc。
我在Xcode 8和Mac OS Sierra发生了这个错误。 试过以上所有的解决scheme,没有工作。 这是唯一一个为我工作的人。 打开terminal,然后input。
cd ~/Library/Developer/Xcode/DerivedData
xattr -c *
以下步骤为我解决了这个问题。 我遇到了这个问题,它没有编译的设备或归档,工作正常的模拟器。
- 打开钥匙串访问。
- locking“login”钥匙串。
- 解锁它。
在完成上述步骤之后清理并构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暗示,这是一个伟大的演习。 如果它还没有签名,你可能会有一些过期或吊销的证书。 当你在一个团队工作时,我发现这可能会发生。
- 退出xcode。
- 打开钥匙串访问。
- 在“证书”部分,通过所有“iPhone分发”证书,如果它们过期,被撤销或以其他方式失效,请删除它们。
- 与3相同,但是用于“我的证书”部分。
- 重新打开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 {} \;