代码签名错误:应用程序失败的代码签名验证

问题描述:

我对iOS开发很新,我有一个应用程序所有设置和准备分发,但我似乎每次只在我的设备上运行该应用程序时得到此错误, iOS模拟器工作得很好。下面有完整的错误:代码签名错误:应用程序失败的代码签名验证

Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011)

这里就是整个日志:

Validate "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app" 
    cd /Users/masonsocha/Desktop/Apps/MultiBrowser 
    setenv 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" 
    setenv PRODUCT_TYPE com.apple.product-type.application 
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app" 

warning: Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011) 
Executable=/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/Multibrowser 
codesign_wrapper-0.7.10: using Apple CA for profile evaluation 
AssertMacros: trust_result == kSecTrustResultUnspecified, file: codesign_wrapper.c, line: 594 
AssertMacros: profile, file: codesign_wrapper.c, line: 918 
codesign_wrapper-0.7.10: Failed to load provision profile from: /Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/embedded.mobileprovision 
- (null) 

我已经尝试缩短项目名称的长度,没有帮助,我目前使用的OSX狮子,在Xcode中4.3.2。我整晚都把头发拉出来,请帮忙!

+0

您是试图构建用于测试的设备,还是要构建以分发到App Store? – magmastonealex 2012-04-02 23:45:57

+0

听起来像你可能甚至没有设置代码签名据此。 >签名无效,包含不允许的权利,或者未使用iPhone分发证书签名。 您是否按照开发者平台上的任何说明获取您的证书?或者你是否简单地从模拟器更改为设备并希望它能运行? – rooftop 2012-04-03 20:57:11

+0

对于那些正在寻找最新解决方案 - 2013年4月的人,请按照以下步骤操作: https://developer.apple.com/library/ios/#technotes/tn2250/_index.html – Yizhar 2013-04-29 13:05:31

我有完全相同的问题..

转到钥匙串访问

  1. 确认你有你的公共和私有密钥设置正确。这是一个很好的参考https://developer.apple.com/legacy/library/technotes/tn2250/_index.html

  2. 我以前曾调整了钥匙扣证书首使Outlook工作,但几乎搞砸了的XCode代码签名..

后,我设置这些为“最好的尝试“设置(见截图)验证甚至检查所有签名的东西后运行良好

enter image description here

+0

这对我有用。谢谢。 – user1489709 2013-02-21 03:16:06

我有同样的问题。我的权利文件中包含旧的“可调试”设置。将其切换到获取任务允许解决该问题。苹果有instructions on how to debug signing issues

+0

感谢所有人回复,但我解决了问题,我选择了我的具体分配配置文件,我试着选择推荐的设置,它会自动选择一个有效的配置文件,它工作得很好:D – 2012-04-11 02:04:54

我有同样的问题,并解决它由:

可能是xcode选择其中一个开发配置文件来为其签名代码。

确保它使用分布图

按项目,在构建设置 - >代码签名部分扩大代码签名身份 - >发布 - >确保所有的iOS SDK指的分布图。

+1

谢谢!我遇到了这个问题,因为我的发布代码签名实体被设置为匹配Test Flight的开发代码。 – sberley 2013-03-02 01:43:03

+3

有道理。有用!非常感谢你! – 2013-06-29 13:18:47

你可以解决它不会离开配置文件选择xcode。在项目设置中手动选择正确的版本配置文件,它将通过。

我有这个问题,但发现上述问题都没有解决它。最终,我通过苹果的技术说明(https://developer.apple.com/legacy/library/technotes/tn2250/_index.html)研究了该主题。

在我的情况下,特定的问题是遗失或被隐藏的资产(我没有找到哪个),但是在构建过程的其他地方没有将其标记为问题文件。我已经概述了我采取的步骤来发现下面的内容。

  1. 存档构建,保存为adhoc部署。
  2. 在finder中导航到ipa,重命名为.zip。
  3. 双击取消归档,打开“有效载荷”文件夹
  4. 打开一个终端,并输入以下内容:

    协同设计--verify -vvvv -R ='锚苹果一般性和证书1场(证书叶[field.1.2.840.113635.100.6.1.2]存在或证书叶[field.1.2.840.113635.100.6.1.4]存在)'/ Path/to/your/app.app

  5. 不是输入/Path/to/your/app.app,而是将* .app文件从Payload文件夹拖放到终端中,确保命令结尾和文件名,并重新打开转。

我在输出中说,“一个密封的资源丢失或无效”,与导致问题的文件的名称得到一个错误(它开始以一个点,这可能是问题)。当我在XCode项目浏览器中搜索文件名时,我找到了该文件,但是当我查找Finder时,它不在磁盘上。

该修复只是将文件从XCode项目浏览器中删除,错误消失了。我肯定会对任何得到类似问题的人说 - 通过Apple的技术笔记。他们措辞有点糟糕,但解决方案可能在某处。