可执行文件已使用无效的权利签名-0xe8008016

时间:2018-10-17 03:14:39

标签: ionic-framework xcode10 code-signing-certificate build-settings code-signing-entitlements

我试图在带有xcode的设备上运行我的应用程序,这是一个带有xcode 9的离子应用程序, 我没问题,但是由于我已更新到xcode 10,所以每次都会收到此错误消息:

应用程序的代码签名权利文件中指定的权利无效,不允许或与您的配置文件中指定的权利不匹配。(0xE8008016)。

我已经尝试了所有在网上找到的内容

1。添加功能

2。更改构建设置,

3.config.xml。

4 个答案:

答案 0 :(得分:36)

如果您使用的是Xcode 10,则需要在“工作区设置”中将构建系统更改为“旧版构建系统”

  • 文件>>工作区设置..
  • 将构建系统设置为“旧版构建系统”

更多信息可以在这里找到: https://github.com/apache/cordova-ios/issues/407

答案 1 :(得分:0)

为避免使用旧版构建系统,您可以直接在info.p中添加具有正确密钥的缺少的权利,并在build.xconfig中注释此行

//CODE_SIGN_ENTITLEMENTS = $(PROJECT_DIR)/$(PROJECT_NAME)/Entitlements-$(CONFIGURATION).plist

例如,Entitlements-Debug.plist中的此键不再有效。

<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>

它们可以添加为info.plist中的

<key>DataProtectionClass</key>
<string>NSFileProtectionComplete</string>

答案 2 :(得分:0)

这发生在我身上,因为我在Signing调试中上载了Distribution Provisioning Profile,一旦我将其替换为Development Provisioning Profile,一切对我来说都很好。

答案 3 :(得分:0)

此问题应在cordova-ios的5.0.0版本中修复,请参见https://cordova.apache.org/announcements/2019/02/09/cordova-ios-release-5.0.0.html

cordova platform remove ios
cordova platform add ios@5.0.0