在真实Apple Watch上进行debugging:应用程序validation失败

我今天尝试在一个真正的Apple Watch上debugging我的WatchKit应用程序。 点击Xcode中的debuggingbutton后,主iPhone应用程序安装正确,但苹果手表只显示消息失败安装xxx,错误:应用程序validation失败 。 WatchKit应用程序不会安装。

我意识到这一点: WatchKit应用程序拒绝“未能安装” ,但它没有帮助,因为我的Xcode项目文件是好的。

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

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

UDID可以在Xcode的Devices窗口中获得。 配对之后,Apple Watch的信息将自动显示在您iPhone的信息下方。

在撰写本文时,这似乎没有任何记载,Apple Watch上的错误消息并不是特别有用。 所以我希望这个尝试错误的教训能为你省点麻烦。

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

companionappd [350]:未能安装WatchKit应用程序,错误:(Error Domain = LaunchServicesError Code = 0“The operation could not be completed。(LaunchServicesError error 0.)”UserInfo = 0x14e2f690 {Error = ApplicationVerificationFailed,ErrorDetail = -402620394, ErrorDescription =无法validation代码签名:0xe8008016( 权利发现configuration文件不允许 )})

…在构build过程中没有被捕获的问题,也没有在屏幕上的错误与我明确地分享。

所以,我看着这些权利:

在这里输入图像说明

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

如果你正在使用TestFlight(和默认的权利以外的任何东西),你似乎需要这个标志,但是如果你在本地debugging,你不需要标志。

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

在这里输入图像说明

到现在为止还挺好。 应用程序和手表扩展正在按预期运行。

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

  • 将您的Apple Watch的UDID添加到开发人员门户
  • 更新您的供应configuration文件以支持手表

XCode可以为您pipe理整个过程:

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

在这里输入图像说明

2.在iPhone / iPad上启动WatchKit App(不在模拟器中)

在这里输入图像说明

3.出现代码签名错误消息时,select修复问题

在这里输入图像说明

4.select你的开发团队,让XCode完成剩下的工作

我也写了一个简短的教程 。

不要忘记在Xcode的“设备”显示中向下滚动。 Xcode – >窗口 – >设备 – >select“NameOfiPhone”,然后在“设备信息”窗口右侧,向下滚动。 然后你会看到配对的设备。 是的,我承认这个:-)

你应该有每个AppID。 例如,如果您的应用程序的包标识符是“com.xyz”,那么您需要调用三个appid和供应configuration文件

  1. com.xyz
  2. com.xyz.watchkitapp
  3. com.xyz.watchkitapp.watchkitextension

为每个configuration创buildconfiguration并分配给相关目标。

这将解决这个问题。 确保您的iPhone和手表的UUID必须添加到这些configuration文件。

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