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?
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.
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:
Choose an app to run
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.]Debug > Attach to Process by PID or Name
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.
Maintenant, dans le navigateur de débogage, vous pouvez voir le processus NES et vous pouvez le déboguer avec succès.
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:
Lancer l'application (pas l'extension).
Arrêtez l'application depuis XCode.
Envoyer un Push.
Connectez-vous via "Attacher au processus par PID ou Nom ..." à votre processus d'extension.
Envoyer un autre Push.
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.