【发布时间】:2019-02-14 15:42:36
【问题描述】:
每当我尝试在设备上运行单元测试时。一切似乎都已构建并安装到设备上,但是当它即将运行时,我在对话框中收到以下错误:
可执行文件的签名无效。在您的应用程序的代码签名权利文件中指定的权利无效、不允许或与您的配置文件中指定的权利不匹配。 (0xE8008016)。
模拟器上的单元测试工作正常。不过我想让单元测试在设备上运行,因为它会运行得更快。
我的项目有以下警告:
“示例”的配置文件“匹配开发 com.example.app”包含权利文件中没有的权利:com.apple.developer.healthkit.access。要使用这些权利,请将它们添加到您的权利文件中。否则,请从您的配置文件中删除未使用的权利。
但其他一切正常,我可以运行目标并将其发布到应用商店。只有设备上的单元测试无法启动。我查看了开发配置文件,发现它包含com.apple.developer.healthkit.access 密钥,该密钥不在应用商店配置文件中。但是当我将此密钥添加到权利文件时,它仍然不运行单元测试。
我尝试删除权利文件并让 Xcode 重新生成它,但这不起作用。我的项目有 5 个不同的应用目标,每个目标都有自己的单元测试包。
我也尝试过重新生成开发配置文件,但它总是有一个com.apple.developer.healthkit.access 键。
我按照here 的建议查看了项目文件。我发现所有应用程序目标都使用相同的权利文件。所以我更改了它,以便所有应用程序都使用自己的权利,但单元测试仍然无法启动。 com.apple.developer.healthkit.access 警告仍然存在
有没有办法让我在设备上进行单元测试以在启用 healthkit 的情况下工作?没有 HealthKit 的设备上的单元测试也将是一个改进,但其他一切也应该工作(分发等......)
【问题讨论】:
标签: ios xcode unit-testing healthkit