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

The executable was signed with invalid entitlements - 0xe8008016

我试图 运行 我的应用程序在 xcode 的设备上,它是一个离子应用程序,xcode 9, 我没有问题,但自从我更新到 xcode 10 后,我每次都会收到此错误消息:

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

我已经尝试了我在网上找到的一切

1.adding 能力,

2.changing 构建设置,

3.config.xml.

如果您使用的是 Xcode 10,则需要将工作区设置中的构建系统更改为 "Legacy Build System"

  • 文件 >> 工作区设置..
  • 将构建系统设置为 "Legacy Build System"

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

为避免使用旧版构建系统,您可以使用正确的密钥直接在 info.plist 中添加缺少的权利,并在 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>

这件事发生在我身上,因为我已经在签名调试中上传了分发供应配置文件,一旦我用开发供应配置文件替换对我来说一切都很好。

这应该在 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