在真正的Apple Watch上进行调试

时间:2016-01-09 15:19:35

标签: ios xcode debugging watchkit apple-watch

我为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秒才能运行......

2 个答案:

答案 0 :(得分:9)

我不建议您通过按Xcode中的“运行”按钮来尝试调试Apple Watch应用程序。关于它是否有效是非常不可预测的。以下是我在Apple Watch上进行调试的方法,每次都适用于我:

  1. 将iPhone连接到运行Xcode的计算机
  2. 从Xcode
  3. 在iPhone上运行您的应用
  4. 单击Xco​​de中的停止按钮
  5. 在Apple Watch上,确保已转移新的应用更新(请注意,如果您未对手表应用进行任何更改,则新手机应用似乎无法复制目前)。
  6. 从您的手表启动您的手表应用程序(尚无Xcode!)
  7. 在Xcode中从方案中选择Watch Extension,确保从设备列表中选择您的设备,应显示您的手机+ Apple Watch。
  8. 在Xcode中,单击"调试 - >附加到流程"并选择你的手表扩展程序。请注意,您会看到手表应用和手表扩展程序的流程。确保选择手表扩展程序
  9. 在手表上,点按一些UI元素,例如按钮。
  10. 您的观看应用将在屏幕中间显示加载微调器。这个微调器一直持续到手表可以连接到Xcode。有时这需要几分钟(对我来说大约3分钟)。当微调器停止时,你应该能够在Xcode中正常调试。
  11. 唯一的诀窍是在第8步等待Xcode连接时要耐心等待。这样做肯定很慢,但会为你提供更多在模拟器上运行的性能信息。

答案 1 :(得分:1)

听起来像是一个熟悉的watchOS bug,所以我认为你没有做错任何事。

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

您肯定需要一些耐心,所以如果它不起作用,请多次尝试。我经历了几次尝试后的工作经验。