WatchKit App 仅启动 iPhone Simulator 和 WatchKit App,但不启动 IOS App

WatchKit App only starts iPhone Simulator and WatchKit App, but not the IOS App

我已经在iPhone 6 上将WatchKit App 配置为运行,WatchKit App Scheme Executable 指向WatchKit App.app,Watch 接口指向Main,但是IOS 应用程序不只启动 WatchKit 应用程序。

当我在 iPhone 6 上 select WatchKit App 到 运行 时,iPhone 6 模拟器正在启动,之后我看到黑屏一秒钟模拟器 returns 到 IOS 级别,但主应用程序没有启动,只有 Apple Watch 模拟器上的 WatchKit 应用程序。我不明白为什么 IOS 应用程序没有启动?

目前有一个错误尚未修复。要绕过并启动 iPhone 应用程序,请执行以下操作:

1) 停止 Xcode 中的任何进程。

2) 构建并 运行 iPhone 应用程序。

3) 启动后停止 iPhone 应用程序。

4) 切换到 WatchKit 方案扩展并构建 运行 它。

5) 在 iPhone 主屏幕上按图标打开 iOS 应用程序。

为了在 运行 Watch Extension 的同时调试 iOS 应用程序,您应该按照 here.

中说明的步骤进行操作

您还需要了解 iOS 应用不一定要 运行 而手表应用必须 运行。您有多种可能的运行时场景组合...所有这些您的 iOS 应用程序和 Watch 应用程序必须无缝处理。

  • iOS 应用程序是 运行 但不是 Watch 应用程序
  • 手表应用是 运行 但不是 iOS 应用
  • 两个应用程序都运行在前台
  • Watch App 运行 在前台,iOS App 运行 在后台

我还发布了一些关于从 Watch Extension 启动父应用程序以及共享数据的附加信息

希望对您有所帮助。

如果你想从容器应用程序中查看 NSLogs,你可以这样做:

  • 尽早在手表应用程序的进程中放置断点
  • 运行 容器应用
  • 停止容器应用程序
  • 运行 watch app 让它命中断点
  • watch app 运行连接并调试后,转到模拟器并通过单击打开容器应用程序
  • 返回 XCode 并转到“调试”>“附加到进程”>“您的容器应用程序”

您现在应该已连接到这两个进程,并且可以看到来自这两个进程的断点和日志。您可以使用左侧窗格中的线程导航器在应用程序之间切换(您需要这样做才能再次获取手表应用程序 运行ning)。

请注意,手表应用程序中的早期断点是可选的,我只是发现确保捕获任何早期断点很有用。