Я создаю набор расширений уведомлений (Service/Content). Я не могу подключиться к отладчику Xcode или даже выйти в журнал устройства или консоль.
Есть ли способ увидеть какой-либо вывод?
Я создаю набор расширений уведомлений (Service/Content). Я не могу подключиться к отладчику Xcode или даже выйти в журнал устройства или консоль.
Есть ли способ увидеть какой-либо вывод?
Измените цель для запуска расширения
затем выберите "Выполнить" и выберите свое приложение в окне "Выбрать приложение для запуска:".
Я пробовал в соответствии с ответом brendan, но не работает для меня вообще!
Я получаю ниже ошибки в консоли
Program ended with exit code: 0
Затем после поиска в google я проверил этот ответ. однако это тоже не сработало для меня, пока!
Затем я повторил те же шаги, что и в ответе, после остановки моего текущего приложения. затем выполните те же шаги. Для ясности я пишу следующие шаги, как показано ниже:
После запуска приложения, содержащего расширение,
1) Set your breakpoint in the extension
2) Select Debug / Attach to Process by PID or name
3) Enter the name of the extension target
4) Trigger the push notification
Прежде чем выполнить шаг 2, обязательно остановите свое текущее приложение.
Это помогло мне остановиться на точках останова в расширении и посмотреть журнал расширений:
Choose an app to run
Message from debugger: Terminated due to signal 9
после шага 6. [ Обновление: завершение приложения вручную на устройстве, по-видимому, не требуется, попробуйте любой способ, если он не работает.]Debug > Attach to Process by PID or Name
меню" Debug > Attach to Process by PID or Name
Расширение службы уведомлений (NSE) на самом деле не является частью вашего приложения, а расширением, в котором указано, что у него есть другой идентификатор процесса (PID) из вашего приложения. Вы можете прослушать XCode каждый процесс на своем телефоне, перейдя на вкладку "Отладка", прокрутите вниз до "Прикрепить к процессу" и посмотрите, не указана ли ваша NSE в разделе "Вероятные цели". Если это не так, попробуйте добавить еще одно push-уведомление на ваше устройство и прикрепить к нему, когда он появится.
Теперь в навигаторе отладки вы можете увидеть процесс NES, и вы можете успешно его отладить.
В моем случае все вышеперечисленные методы имели некоторые ошибки. Главное, что вам нужно отправить push один раз, затем подключиться через отладчик, а затем отправить push для отладки. Итак, полный список:
Запустить приложение (не расширение).
Остановить приложение из XCode.
Отправить один толчок.
Подключитесь через "Присоединить к процессу с помощью PID или имени..." к процессу расширения.
Отправить еще один толчок.
Не уверен, что это будет полезно, но у нас есть несколько сборок одного и того же приложения (альфа, бета и т.д.). При попытке отладки получить сообщение об ошибке "Не разрешайте прикреплять". Открыв список процессов, я заметил, что было два процесса с именем notification-extension
поэтому xcode должен был не соответствовать одной из других сборников. Путем ручного выбора правильного или удаления других сборок с моего телефона все снова заработало.
Единственный способ, который работал для меня, - это просматривать логи. Я использую Xcode 10.1. Журналы были доступны из Окна → Устройства и симуляторы → Выберите ваше устройство → нажмите "Открыть консоль". Таким образом, я мог видеть журналы из расширений.