web-dev-qa-db-fra.com

Extensions de notification de débogage

Je construis un ensemble de Notification Extensions (Service/Content) . Je ne parviens pas à me connecter au débogueur Xcode ni même à me déconnecter du journal ou de la console du périphérique.

Y at-il un moyen de voir tout type de sortie?

27
dogsgod

Changer la cible pour exécuter l'extension

 Change Target

puis sélectionnez Exécuter et choisissez votre application dans la fenêtre "Choisissez une application à exécuter:".

 enter image description here

40
brendan

J'ai essayé selon la réponse de Brendan mais ne fonctionne pas du tout pour moi!

Je reçois une erreur en-dessous de la console 

Program ended with exit code: 0

Ensuite, après avoir cherché sur google, j'ai vérifié cette réponse . Cependant, cela n'a pas fonctionné pour moi pendant longtemps!

Ensuite, j'ai essayé à nouveau les mêmes étapes que celles indiquées dans la réponse, après avoir arrêté l'application en cours d'exécution. puis suivez les mêmes étapes. Pour plus de clarté, j’écris ces étapes comme ci-dessous:

Après avoir exécuté l'application contenant l'extension,

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

Avant l'étape 2, veillez à arrêter votre application en cours d'exécution.

28
Saurabh Prajapati

Cela a fonctionné pour moi de m'arrêter aux points d'arrêt de l'extension et de voir le journal de l'extension:

  1. Choisissez le schéma d'extension de notification, pas le schéma d'application principal
  2. Exécutez l'application et sélectionnez l'application principale dans la liste Choose an app to run
  3. Arrêtez l'application dans Xcode et terminez-la manuellement sur le périphérique. Si vous ne le terminez pas manuellement, Message from debugger: Terminated due to signal 9 apparaît après l'étape 6. [Update: mettre fin manuellement à l'application sur l'appareil ne semble pas nécessaire, essayez de toute façon si cela ne fonctionne pas.]
  4. Sélectionnez Menu Debug > Attach to Process by PID or Name
  5. Entrez le nom d'extension correct, pas le nom principal de l'application
  6. Envoyer la notification Push
6
Manuel

L'extension de service de notification (NSE) ne fait pas réellement partie de votre application, mais une extension qui indique qu'elle a un identificateur de processus (PID) différent de celui de votre application. Vous pouvez faire en sorte que XCode écoute chaque processus de votre téléphone en accédant à l’onglet «Débogage», faites défiler jusqu’à «Attacher au processus» et vérifiez si votre NSE figure dans la liste «Cibles probables». Si ce n’est pas le cas, essayez d’envoyer une autre notification Push à votre appareil et attachez-la quand elle apparaît.

 enter image description here

Maintenant, dans le navigateur de débogage, vous pouvez voir le processus NES et vous pouvez le déboguer avec succès.

 enter image description here

2
Anaid

Dans mon cas, toutes les méthodes ci-dessus comportaient des erreurs. Point principal, que vous devez envoyer Push une fois, puis vous connecter via le débogueur, puis envoyer Push à debug. Donc, liste complète:

  1. Lancer l'application (pas l'extension).

  2. Arrêtez l'application depuis XCode.

  3. Envoyer un Push.

  4. Connectez-vous via "Attacher au processus par PID ou Nom ..." à votre processus d'extension.

  5. Envoyer un autre Push.

1
Vlad Pulichev

Pas sûr que cela soit utile, mais nous avons plusieurs versions de la même application (alpha, bêta, etc.). Continué à obtenir une erreur "ne pas avoir l'autorisation de joindre" lors d'une tentative de débogage. En ouvrant la liste des processus, j'ai remarqué qu'il y avait 2 processus nommés notification-extension, donc xcode doit être par défaut celui de l'autre génération. En sélectionnant manuellement le bon, ou en supprimant les autres versions de mon téléphone, les choses ont recommencé à fonctionner.

0
Josh