在真正的 Apple Watch 上调试:应用程序验证失败

Debug on real Apple Watch: Application Verification Failed

我今天尝试在真正的 Apple Watch 上调试我的 WatchKit 应用程序。在Xcode点击Debug按钮后,主iPhone应用安装正常,但Apple Watch只显示消息Failed to install xxx, error: Application Verification Failed. WatchKit 应用未安装。

我知道这一点:,但没有帮助,因为我的 Xcode 项目文件没问题。

如何在真正的 Apple Watch 上进行调试?

事实证明,您还必须将 Apple Watch 的 UDID 添加到 Apple Developer Portal,并更新您的开发配置文件以包含此 UDID。

UDID可以在Xcode的设备window中获取。配对后,Apple Watch 的信息会自动显示在您的 iPhone.

的信息下方

在撰写本文时,这似乎无处记录,Apple Watch 上的错误消息也不是特别有用。所以我希望这个试错法课程能为您省去一些麻烦。

如上所述的 UDID 问题可能是罪魁祸首,但在我的情况下,它已由 Xcode 自动处理。查看设备日志(菜单 Window> 设备)显示:

companionappd[350] : failed to install WatchKit application, error: (Error Domain=LaunchServicesError Code=0 "The operation couldn’t be completed. (LaunchServicesError error 0.)" UserInfo=0x14e2f690 {Error=ApplicationVerificationFailed, ErrorDetail=-402620394, ErrorDescription=Failed to verify code signature of : 0xe8008016 (Entitlements found that are not permitted by provisioning profile)})

...在构建过程中没有发现的问题,也没有在 on-screen 错误中明确与我分享。

所以,我查看了权利:

是的,我确实必须手动添加 beta-reports-active 才能提交到 TestFlight。

如果您使用的是 TestFlight(以及除默认权利以外的任何其他东西),您似乎需要该标志,但如果您使用 not在本地调试。

因此,我解决这个矛盾的办法是有两个权利文件,像这样:

到目前为止,还不错。 App 和 Watch Extension 符合预期 运行。

不要忘记在 Xcode 中的 "Devices" 显示中向下滚动。 Xcode -> Window -> 设备 ->Select "NameOfiPhone" 然后在 "Device Information" Window 右侧向下滚动。然后你会看到配对的设备。是的,我承认这一点:-)

基本上你需要执行两个步骤:

  • 将您的 Apple Watch 的 UDID 添加到开发者门户
  • 更新您的配置文件以支持手表

XCode可以全程为您管理:

1.将应用程序部署到您的 iPhone/iPad

2。也在您的 iPhone/iPad(不是在模拟器中)

上启动 WatchKit 应用程序

3。选择 Fix Issue,出现代码签名错误信息时

4。 Select 你的开发团队,让 XCode 做剩下的事情

为此我也written a short tutorial

你应该有每个 AppID。 例如,如果您的应用程序的捆绑包标识符是 "com.xyz",那么您需要三个名为

的应用程序 ID 和配置文件
  1. com.xyz
  2. com.xyz.watchkitapp
  3. com.xyz.watchkitapp.watchkitextension

为每个创建配置并分配给相关目标。

这将解决此问题。确保 iphone 和 watch 的 UUID 必须添加到这些配置文件中。

所有目标的版本也应该相同。