Я только начинаю работу с Apple Watch. Я нашел инструкции из Five Minute Watchkit, о том, как приложение iOS и приложение набора часов работают как в симуляторе, так и в обоих процессах к отладчику LLDB.
Что я делаю, это запуск и выход из приложения iOS для установки текущей версии в симу. Затем я переключаюсь на схему watchKit и запускаю это, что отображает пользовательский интерфейс приложения часов на симуляторе часов.
Затем я запускаю соответствующее приложение iOS в симуляторе, а затем пользователь "присоединяется к процессу" в меню Xcode для присоединения отладчика к запущенному приложению iOS.
Это работает. Я могу установить точки останова либо в наборе часов InterfaceController, либо в моем приложении iOS, и отладчик там разрывается, когда он должен.
Однако я не вижу операторов NSLog() в консоли отладки из моего приложения iOS. (Я вижу инструкции журнала из кода расширения WatchKit.) Если я установил точку останова в моем приложении iOS, он остановится в этой точке останова, когда это необходимо. Я полагаю, что отсутствие консольного вывода из NSLog имеет SOMETHING, чтобы связать с запущенным процессом на сим, а не запускать его из Xcode, но я не знаю, что это такое.
(BTW, прикрепление действия к точке останова, которая вызывает NSLog из точки останова, также не отображается, но команда отладочного сообщения "log message" отображается. Кто-нибудь знает?)
EDIT: Код в приложении iOS, похоже, не имеет значения. В моем случае это был простой простой IBAction, который был прикреплен к кнопке в раскадровке приложений iOS:
- (IBAction)buttonAction:(UIButton *)sender;
{
NSLog(@"Button clicked on iPhone");
}
Я могу установить точку останова в этой инструкции NSLog. Отладчик останавливается в этой строке, но я не вижу оператора журнала в консоли отладки.