【发布时间】:2015-10-22 20:55:02
【问题描述】:
我正在努力在真正的 Apple Watch 上调试我的 WatchKit 扩展程序/应用程序。使用模拟器调试iPhone App和WatchKit Extension都没有问题:
- 选择 WatchKit App Profile 并在 Simulator 中运行 ==> App 在 Watch Simulator 中启动,我可以使用 扩展代码 中的断点进行调试。
- 为了调试 iPhone 应用程序,我在模拟器中启动应用程序并手动附加调试器 ==> 我可以使用 iPhone 代码 中的断点进行调试。
同时观察 iPhone 应用和手表应用的工作是没有问题的。至少不在模拟器中。
我想在真正的 Apple Watch 上做同样的事情。但是当我选择 WatchKit 应用程序配置文件和我的真实 iPhone(而不是模拟器)并单击“运行”时,没有任何反应。这意味着 Xcode 似乎构建并启动了应用程序,但设备上没有任何反应。 Xcode中的status字段显示:
构建 MyApp WatchKit 应用:MyApp WatchKit 扩展
构建 MyApp WatchKit 应用程序:完成...
在我的 iPhone 6 上运行 MyApp
这就是全部。没有调试窗口,断点被忽略或不工作,应用程序在 iPhone 或 Apple Watch 上都没有启动。
我发现了其他关于在真实设备上调试问题的问题(例如here),但它们都涉及安装和签名问题。在我的情况下,iPhone App 和 WatchKit App 都安装没有任何问题。当我单击手表上的应用程序图标时,我可以启动并使用该应用程序。 问题是我无法调试此进程。
为什么我需要在真实设备上调试进程?嗯,我无法使用模拟器测试一件事:当 Watch 应用尝试使用 openParentApplication:reply: 联系 iPhone 应用时会发生什么情况?当 iPhone 应用程序尚未运行时?这在模拟器中完美运行,但在真实设备上,Watch 应用程序似乎没有得到 iPhone 应用程序的回复,只是永远等待。
我已经找到 hints 来解决这个问题,但无法调试 Watch 应用程序并查看代码是如何执行的,我无法确定发生了什么......
【问题讨论】:
标签: ios objective-c xcode cocoa-touch watchkit