Reputation: 2027
I updated my app for Apple Watch, but I should have weighed it too much and now it's definitely slow. I can't understand the reasons of this slowdown so I would like to debug app but I don't know how to do that because in the simulator app works normally, slowdowns manifest only on the device.
I tried running app directly from xCode on Watch but once xCode launched the installation of the app on the Watch, it stops the run so I can't see what happens while running (for instance when run certain breakpoint or otherwise do us debug).
Does anyone have an idea of what's the right way to debug on a physical Apple Watch?
P.S.: For instance, this code:
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: ""))
}
}
takes around 7 seconds to run...
Upvotes: 9
Views: 11448
Reputation: 20237
I do not recommend trying to debug your Apple Watch app by pressing the Run button in Xcode. It is very unpredictable as to whether or not it will work. Here is how I debug on the Apple Watch and it works for me every time:
The only trick is to be patient when waiting for Xcode to connect in step 8. It is definitely slow to do, but gives you far more performance information that running on the simulator.
Upvotes: 19
Reputation: 8942
Sounds like a familiar watchOS bug for me, so I presume you didn't do anything wrong.
You should try to delete the watch app from your watch using the Watch app on your phone, then run it again.
You will definitely need some patience, so try it multiple times if it doesn't work. I had the experience that it worked after a few attempts.
Upvotes: 1