在模拟器中调试 Apple Watch 应用程序的 iOS 部分

Debugging the iOS part of Apple Watch app in the Simulator

几年前,我使用 watchOS 1 SDK 编写并调试了一个 Apple Watch 应用程序。我现在正在使用 watchOS 3 SDK 开发一个新的手表应用程序。

Watch App部分可以调试。我可以设置断点并单步执行。但是,我使用 WatchConnectivity 框架从 iOS 应用程序获取信息。这不起作用,我无法对其进行调试。

当我 运行 Xcode 中的 WatchApp 方案时,启动了两个模拟器,一个用于 iOS 应用程序,一个用于 WatchApp。我看到 WatchApp 正在启动,但 iOS 应用程序没有启动。如果 iOS 之前是 运行ning,它似乎被杀死了。

我在 application:didFinishLaunchingWithOptions 上放置了一个断点:在 iOS 应用程序方法中,但从未命中此断点。应该吧

我不记得几年前遇到这些问题时遇到过这个问题。

运行WatchApp 方案是否应该自动启动 iOS 应用程序并允许对其进行调试?我的 didFinishLaunchingWithOptions: 断点应该命中吗?

另一件有点奇怪但可能是暗示的事情是 iOS 模拟器中的外部显示器列表从不显示手表应用程序显示器。我认为应该。

我试过清理项目、重新启动 Xcode 甚至重新启动我的计算机。不开心。

不,iOS 和 WatchApp 有不同的目标,因此 运行 来自 Xcode 的一个不会自动启动另一个。

您必须以通常的方式使用 Xcode 启动其中一个应用程序,然后从其各自的模拟器手动启动另一个应用程序,而不是在 Xcode 中使用 Debug>Attach to Process 来查看两者调试器中的应用程序。