it-swarm.com.ru

Расширения отладочных уведомлений

Я создаю набор расширений уведомлений (сервис/контент) ... Я не могу подключиться к отладчику XCode или даже выйти из системы в журнал устройства или консоль.

Есть ли способ увидеть какой-либо вид продукции?

27
dogsgod

Изменить цель, чтобы запустить расширение

 Change Target

затем выберите «Выполнить» и выберите свое приложение в окне «Выберите приложение для запуска:».

 enter image description here

40
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 обязательно остановите текущее работающее приложение.

28
Saurabh Prajapati

Это помогло мне остановиться на точках останова в расширении и посмотреть журнал расширений:

  1. Выберите схему расширения уведомлений, а не основную схему приложения.
  2. Запустите приложение и выберите главное приложение из списка Choose an app to run
  3. Остановите приложение в Xcode и завершите его вручную на устройстве; не завершение вручную приводит к Message from debugger: Terminated due to signal 9 после шага 6. [ Update : завершение приложения вручную на устройстве, по-видимому, не является необходимым, попробуйте любой способ, если он не работает.]
  4. Выберите Меню Debug > Attach to Process by PID or Name
  5. Введите правильное имя расширения , а не основное имя приложения
  6. Отправить Push-уведомление
6
Manuel

Расширение службы уведомлений (NSE) на самом деле не является частью вашего приложения, а является расширением, в котором говорится, что оно имеет идентификатор процесса (PID), отличный от вашего приложения. Вы можете заставить XCode прослушивать каждый процесс на вашем телефоне, перейдя на вкладку «Отладка», прокрутите вниз до «Присоединить к процессу» и посмотрите, есть ли ваш NSE в списке «Вероятные цели». Если его там нет, попробуйте добавить еще одно Push-уведомление на ваше устройство и прикрепить к нему, когда оно появится.

 enter image description here

Теперь в отладочном навигаторе вы можете видеть процесс NES и можете успешно отлаживать его.

 enter image description here

2
Anaid

В моем случае все вышеперечисленные методы имели некоторые ошибки. Главное, что вам нужно отправить Push один раз, затем подключиться через отладчик, а затем отправить Push для отладки. Итак, полный список:

  1. Запустить приложение (не расширение).

  2. Остановить приложение из XCode.

  3. Отправить один Push.

  4. Подключитесь через «Присоединить к процессу по PID или имени ...» к процессу расширения.

  5. Отправить еще один толчок.

1
Vlad Pulichev

Не уверен, что это будет полезно, но у нас есть несколько сборок одного приложения (альфа, бета и т.д.). При попытке отладки получено сообщение об ошибке «У вас нет прав для прикрепления». Открыв список процессов, я заметил, что существует 2 процесса с именем notification-extension, поэтому xcode должен был по умолчанию соответствовать одному из других сборок. Путем ручного выбора правильного или удаления других сборок из моего телефона все снова заработало.

0
Josh