首页 > 解决方案 > 设备上的 iOS 单元测试无法启动 - HealthKit 权利错误

问题描述

每当我尝试在设备上运行单元测试时。一切似乎都已构建并安装到设备上,但是当它即将运行时,我在对话框中收到以下错误:

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

模拟器上的单元测试工作正常。但是我想让单元测试在设备上运行,因为它会运行得更快一些。

我的项目有以下警告:

“示例”的配置文件“匹配开发 com.example.app”包含权利文件中没有的权利:com.apple.developer.healthkit.access。要使用这些权利,请将它们添加到您的权利文件中。否则,请从您的配置文件中删除未使用的权利。

但其他一切正常,我可以运行目标并将其发布到应用商店。只有设备上的单元测试无法启动。我查看了开发配置文件,发现它包含com.apple.developer.healthkit.access不在应用商店配置文件中的密钥。但是当我将此密钥添加到权利文件时,它仍然不运行单元测试。

我曾尝试删除权利文件并让 Xcode 重新生成它,但这不起作用。我的项目有 5 个不同的应用程序目标,每个目标都有自己的单元测试包。

我也尝试过重新生成开发配置文件,但它总是有一个com.apple.developer.healthkit.access密钥。

我按照这里的建议查看了项目文件。我发现所有应用程序目标都使用相同的权利文件。所以我对其进行了更改,以便所有应用程序都使用自己的权利,但单元测试仍然无法启动。com.apple.developer.healthkit.access警告仍然存在

有没有办法可以在设备上进行单元测试以启用 healthkit?没有 HealthKit 的设备上的单元测试也将是一个改进,但其他一切也应该工作(分发等......)

标签: iosxcodeunit-testinghealthkit

解决方案


对于 Ionic/Cordova 开发人员转到 Xcode -> File -> Project Settings -> Build System 并选择“Legacy Build System” Screenshot


推荐阅读