【问题标题】:iOS on device Unit Testing fails to start - HealthKit entitlements error设备上的 iOS 单元测试无法启动 - HealthKit 权利错误
【发布时间】: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


    【解决方案1】:

    对于 Ionic/Cordova 开发人员转到 Xcode -> 文件 -> 项目设置 -> 构建系统并选择“旧版构建系统”Screenshot

    【讨论】:

      【解决方案2】:

      确保测试目标使用自动签名,并确保它使用与应用目标相同的团队。还要确保他们使用相同的证书。

      com.apple.developer.healthkit.access 警告似乎无关

      这个答案可能是对this question 的关于设备单元测试相关问题的答案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-09
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        • 2019-01-26
        • 1970-01-01
        相关资源
        最近更新 更多