【问题标题】:Debugging on real Apple Watch在真正的 Apple Watch 上调试
【发布时间】:2016-01-09 15:19:34
【问题描述】:

我为 Apple Watch 更新了我的应用程序,但我应该过分称重它,现在它肯定很慢。 我无法理解这种减速的原因,所以我想调试应用程序,但我不知道该怎么做,因为在模拟器应用程序中正常运行,减速仅在设备上表现出来。

我尝试在 Watch 上直接从 xCode 运行应用程序,但是一旦 xCode 在 Watch 上启动应用程序的安装,它就会停止运行,因此我无法看到运行时发生的情况(例如,当运行某个断点或以其他方式运行时)调试)。

有没有人知道在物理 Apple Watch 上调试的正确方法是什么?

P.S.:例如这段代码:

func clearScreen() {
    firstPicker.setSelectedItemIndex(0)
    secondPicker.setSelectedItemIndex(0)

    defaultLabels()
}

func defaultLabels() {
    feesLabel.setText(NSLocalizedString ("FEES", comment: "Commissioni"))

    clearAllMenuItems()
    addMenuItemWithItemIcon(.Decline, title: NSLocalizedString("CAN_CEL", comment: ""), action: "clearScreen")
    if DefaultParameter.sharedInstance.wishMode == true {
        addMenuItemWithImage(UIImage(named: "will")! , title: NSLocalizedString("WILL_RECEIVE", comment: ""), action: "willWishButtonPressed")
        receivedLabel.setText(NSLocalizedString ("DESIRED_AMOUNT", comment: ""))
    } else {
        addMenuItemWithImage(UIImage(named: "wish")! , title: NSLocalizedString("WISH_RECEIVE", comment: ""), action: "willWishButtonPressed")
        receivedLabel.setText(NSLocalizedString ("RECEIVED_AMOUNT", comment: ""))
    }
}

运行大约需要 7 秒...

【问题讨论】:

    标签: ios xcode debugging watchkit apple-watch


    【解决方案1】:

    我不建议尝试通过按 Xcode 中的“运行”按钮来调试 Apple Watch 应用。它是否会起作用是非常不可预测的。以下是我在 Apple Watch 上调试的方法,并且每次都对我有用:

    1. 将您的 iPhone 连接到运行 Xcode 的计算机
    2. 通过 Xcode 在 iPhone 上运行您的应用
    3. 在 Xcode 中单击停止按钮
    4. 在您的 Apple Watch 上,确保新的应用程序更新已被转移(请注意,如果您没有对手表应用程序进行任何更改,则目前似乎不会复制新的应用程序) .
    5. 从您的手表启动您的手表应用(还没有 Xcode!)
    6. 在 Xcode 中,从方案中选择 Watch Extension,确保您的设备已从设备列表中选择,应显示您的手机 + 您的 Apple Watch。
    7. 在 Xcode 中,单击“调试 -> 附加到进程”并选择您的手表扩展程序的进程。请注意,您将看到手表应用程序和手表扩展程序的流程。确保选择手表扩展
    8. 在您的手表上,点按某个 UI 元素,例如按钮。
    9. 您的手表应用将在屏幕中间显示一个加载微调器。这个微调器会一直持续到手表可以连接到 Xcode。有时这需要几分钟(对我来说大约需要 3 分钟!)。当 spinner 停止时,您应该能够在 Xcode 中正常调试。

    唯一的窍门是在第 8 步中等待 Xcode 连接时要耐心等待。这样做肯定很慢,但可以为您提供比在模拟器上运行更多的性能信息。

    【讨论】:

    • 在“Debug -> Attach to process”下出现一个空白菜单,我认为Apple还有很多工作要做......
    • 您的 iPhone 是否已插入并解锁? Xcode 只能在 iPhone 允许的情况下连接到 Apple Watch 进程,并且需要连接到运行 Xcode 的计算机。
    • 此菜单应显示您的 iPhone 和 Apple Watch 上运行的所有进程(手表将位于顶部)
    • 是的,我一步一步按照您的指南进行操作,但没有!出现类似“获取进程列表”(我无法准确阅读)之类的东西只是为了一闪而过,而不是全部空白!昨天有一个进程列表,但今天没有!我什至尝试重新启动 xCode,清理项目但没有!
    • 你试过重启你的 iPhone 吗?即使没有手表,您也应该能够看到该列表以附加到手机上的进程。
    【解决方案2】:

    对我来说,这听起来像是一个熟悉的 watchOS 错误,所以我认为您没有做错任何事情。

    您应该尝试使用手机上的手表应用从手表中删除手表应用,然后再次运行。

    您肯定需要一些耐心,所以如果不起作用,请多试几次。经过几次尝试,我得到了成功的经验。

    【讨论】:

    • 我找到了这个stackoverflow.com/questions/31741744/… ...但这不是解决方案,这是一场噩梦!
    • 嗯似乎不是那么简单。我成功的另一个选择是在手表上启动应用程序,然后从 Xcode 运行它。该应用程序首先崩溃,然后在我的情况下正常启动。
    • 我试过了,但断点一直不起作用,也许只是有时起作用......
    猜你喜欢
    • 2015-10-22
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 2020-02-06
    • 2015-09-15
    相关资源
    最近更新 更多