【问题标题】:WatchKit App only starts iPhone Simulator and WatchKit App, but not the IOS AppWatchKit App 只启动 iPhone Simulator 和 WatchKit App,不启动 IOS App
【发布时间】:2015-05-17 21:54:16
【问题描述】:

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

当我选择在 iPhone 6 上运行 WatchKit 应用程序时,iPhone 6 模拟器正在启动,我看到黑屏一秒钟,然后模拟器返回 IOS 级别但主应用程序没有启动,只有 WatchKit 应用程序在 Apple Watch 模拟器上。我不知道为什么IOS App没有启动?

【问题讨论】:

    标签: ios simulator watchkit


    【解决方案1】:

    为了在运行 Watch Extension 的同时调试 iOS 应用,您应该按照here 解释的步骤进行操作。

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

    • iOS 应用正在运行,但 Watch 应用没有运行
    • Watch App 正在运行,但 iOS App 未运行
    • 两个应用都在前台运行
    • Watch App 在前台运行,iOS App 在后台运行

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

    希望对您有所帮助。

    【讨论】:

    • 你让我开心!
    • 还有没有可能看到IOS App的NSLog语句?
    【解决方案2】:

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

    • 尽早在手表应用的进程中设置断点
    • 运行容器应用
    • 停止容器应用
    • 运行手表应用并让它命中断点
    • 在手表应用程序运行和调试连接的情况下,转到模拟器并通过单击打开容器应用程序
    • 返回 XCode 并转到 Debug > Attach to process > Your container app

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

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

    【讨论】:

      【解决方案3】:

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

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

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

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

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

      5) 从 iPhone 主屏幕点击图标打开您的 iOS 应用。

      【讨论】:

      • 我已经找到了解决方法,但是通过这种解决方法,无法为 IOS 应用程序设置断点。与WatchKit App交互无法调试?
      • 不是这个时候,最新版本的发行说明说这是一个错误。
      • 设置断点应该可以正常工作。我已经做了一堆。也许我误解了你的问题?当我在附加调试器后设置断点时,它会正确触发。
      • 除了断点之外,使用 NSLog 来调试 IOS 应用程序会很棒。但正如“中午”所说,暂时无法使用它。
      • @Pahnev 不,它没有。
      猜你喜欢
      • 2019-03-12
      • 2016-01-23
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多