Я борюсь с отладкой моего WatchKit Extension/App на реальном Apple Watch. Отладка как iPhone App, так и WatchKit Extension с помощью симулятора имитатора не проблема:
- Выберите профиль приложения WatchKit и запустите в Simulator == > Приложение запущено в Watch Simulator, и я могу использовать точки останова в код расширения для отладки.
- Чтобы отлаживать приложение iPhone, я запускаю приложение в симуляторе и вручную присоединяю отладчик == > Я могу использовать точки останова в iPhone Code для отладки.
Нет проблем наблюдать как работу приложения iPhone, так и приложения часов. По крайней мере, не в симуляторе.
Я хотел бы сделать то же самое на реальном Apple Watch. Но когда я выбираю профиль приложения WatchKit и мой настоящий iPhone (вместо симулятора) и нажимаю "Run", ничего не происходит. Это означает, что Xcode, похоже, создает и запускает приложение, но на устройствах ничего не происходит. Поле статуса в Xcode показывает:
Создание приложения MyApp WatchKit: расширение MyApp WatchKit
Построение приложения MyApp WatchKit: завершение...
Запуск MyApp на моем iPhone 6
Это все. Окно отладки отсутствует, точки останова игнорируются или не работают, и приложение не запускается ни на iPhone, ни на Apple Watch.
Я нашел другие вопросы о проблемах с отладкой на реальных устройствах (например, здесь), но все они касаются проблем установки и подписания. В моем случае приложения iPhone и приложение WatchKit установлены без каких-либо проблем. Когда я нажимаю значок приложения на Watch, я могу запустить и использовать приложение. Проблема в том, что я не могу отлаживать этот процесс.
Зачем мне нужно отлаживать процесс на реальных устройствах? Ну, есть одна вещь, которую я не могу проверить с помощью симулятора: что происходит, когда приложение Watch пытается связаться с приложением iPhone с помощью openParentApplication:reply:
когда приложение iPhone еще не запущено? Это отлично работает в симуляторе, но на реальных устройствах приложения Watch Apps не получают ответа от приложения iPhone и просто ждут навсегда.
Я уже нашел подсказки, чтобы решить эту проблему, но не имея возможности отлаживать приложение Watch и видеть, как выполняется код. Я не могу быть уверен, что происходит...