Отладка на реальных Apple Watch
Я обновил свое приложение для Apple Watch, но мне следовало слишком сильно его взвесить, и теперь оно определенно медленное. Я не могу понять причины этого замедления, поэтому я хотел бы отладить приложение, но я не знаю, как это сделать, потому что в симуляторе приложение работает нормально, замедления проявляются только на устройстве.
Я попытался запустить приложение напрямую из xCode на Watch, но как только xCode запустил установку приложения на Watch, он останавливает запуск, поэтому я не вижу, что происходит во время работы (например, когда запускается определенная точка останова или иным образом выполняется отладка).
Кто-нибудь имеет представление о том, как правильно отлаживать на физических Apple Watch?
PS: например, этот код:
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 ответа
Я не рекомендую пытаться отлаживать приложение Apple Watch, нажав кнопку "Выполнить" в XCode. Это очень непредсказуемо относительно того, будет ли это работать. Вот как я отлаживаю на Apple Watch, и он работает для меня каждый раз:
- Подключите свой iPhone к компьютеру под управлением Xcode
- Запустите приложение на своем iPhone из Xcode
- Нажмите кнопку остановки в Xcode
- На Apple Watch убедитесь, что новое обновление приложения перенесено (обратите внимание, что если вы не внесли никаких изменений в приложение для часов, новое, похоже, не копируется в данный момент).
- Запустите приложение для часов из ваших часов (пока нет Xcode!)
- В Xcode выберите Watch Extension из схем, убедитесь, что ваше устройство выбрано из списка устройств, должен отображаться ваш телефон + ваш Apple Watch.
- В Xcode, нажмите "Отладка -> Присоединить к процессу" и выберите процесс расширения вашего часового механизма. Обратите внимание, что вы увидите процесс как для вашего часового приложения, так и для расширения часов. Убедитесь, что выбрали расширение для часов
- На ваших часах нажмите на некоторый элемент пользовательского интерфейса, например кнопку.
- Ваше приложение для часов будет иметь загрузочный счетчик в центре экрана. Этот счетчик продолжается до тех пор, пока часы не смогут подключиться к Xcode. Иногда это занимает несколько минут (около 3 для меня!). Когда спиннер останавливается, вы сможете нормально отлаживать в Xcode.
Единственная хитрость - это терпение при ожидании подключения Xcode на шаге 8. Это определенно медленно, но дает вам гораздо больше информации о производительности, чем на симуляторе.
Для меня это похоже на знакомую ошибку watchOS, поэтому я полагаю, что вы не сделали ничего плохого.
Вы должны попытаться удалить приложение Watch из ваших часов, используя приложение Watch на вашем телефоне, а затем запустить его снова.
Вам определенно понадобится немного терпения, поэтому попробуйте несколько раз, если это не сработает. У меня был опыт, что это сработало после нескольких попыток.