在模拟器中调试 Apple Watch 应用的 iOS 部分
Posted
技术标签:
【中文标题】在模拟器中调试 Apple Watch 应用的 iOS 部分【英文标题】:Debugging the iOS part of Apple Watch app in the Simulator 【发布时间】:2017-07-26 16:09:03 【问题描述】:几年前,我使用 watchOS 1 SDK 编写并调试了一个 Apple Watch 应用。我现在正在使用 watchOS 3 SDK 开发一个新的手表应用程序。
Watch App 部分可以调试。我可以设置断点并逐步完成。但是,我使用 WatchConnectivity 框架从 ios 应用程序中获取信息。这不起作用,我无法调试它。
当我在 Xcode 中运行 WatchApp 方案时,会启动两个模拟器,一个用于 iOS 应用程序,一个用于 WatchApp。我看到 WatchApp 启动但不是 iOS 应用程序。如果 iOS 之前正在运行,它似乎已被杀死。
我在应用程序上设置了一个断点:didFinishLaunchingWithOptions: 在 iOS 应用程序中,方法但是这个断点永远不会被命中。应该是吧。
我不记得几年前遇到过这些问题。
是否应该运行 WatchApp 方案自动启动 iOS 应用并允许对其进行调试?我的 didFinishLaunchingWithOptions: 断点应该被命中吗?
另一件有点奇怪且可能暗示的事情是 iOS 模拟器中的 External Displays 列表从不显示手表应用程序显示。我觉得应该。
我尝试过清理项目,重新启动 Xcode,甚至重新启动我的计算机。不开心。
【问题讨论】:
完全按照您正在做的事情启动手表方案,然后在 iOS sim 中手动启动您的应用程序,在 Xcode 中,转到调试(不是来自模拟器的菜单)并附加到进程 【参考方案1】:不,iOS 和 WatchApp 有不同的目标,因此从 Xcode 运行一个不会自动启动另一个。
您必须以通常的方式使用 Xcode 启动其中一个应用程序,然后从其各自的模拟器手动启动另一个应用程序,而不是在 Xcode 中使用Debug>Attach to Process
在调试器中查看这两个应用程序。
【讨论】:
以上是关于在模拟器中调试 Apple Watch 应用的 iOS 部分的主要内容,如果未能解决你的问题,请参考以下文章
在模拟器中运行 Apple Watch Glance 应用程序的问题