NSLog
fonctionne parfaitement .
Vous ne voyez tout simplement pas ce qui est enregistré dans la zone de débogage de Xcode car le débogueur Xcode n'est pas attaché à votre extension. Les extensions sont presque complètement indépendantes de leur application contenant. Ils ont des identifiants de bundle séparés, par exemple, et ce sont également des processus séparés sur le système d'exploitation.
J'ai eu des succès variés en obtenant Xcode pour attacher aux extensions. Apparemment, il semble qu'il s'attacherait automatiquement, et il apparaît dans le navigateur de débogage comme "En attente d'attachement", mais ne se joint jamais.
Parfois, je suis capable d'exécuter ma cible d'extension dans Xcode:
Et puis avoir la possibilité de choisir dans quelle application exécuter mon extension. Dans ce cas, je choisirais sa recommandation «aujourd'hui», qui est le centre de notification.
Et puis il attachait parfois le débogueur à mon extension. Notez que cette méthode ne fonctionne que sur les appareils physiques, semble-t-il.
S'il ne se joint pas, vous pouvez utiliser la méthode d'attachement manuel dans la réponse de @ VinceYaun,
J'ai également eu des succès variés en utilisant d'autres méthodes d'attachement. La plupart ont échoué, et il semble que ce ne sont que des bogues qui seront corrigés ultérieurement.
Pour afficher vos messages de journal, accédez à Window
-> Devices
dans la barre supérieure et sélectionnez votre appareil. Vous pouvez afficher le journal de l'appareil à partir du bas de cette fenêtre. Si vous testez sur un simulateur, vous pouvez utiliser la réponse de @ BalestraPatrick .
Certains bogues ont été corrigés dans la bêta 2, et je suppose que le débogueur finira par s'attacher automatiquement lors du lancement de l'extension.
Mise à jour: dans les notes de publication d' iOS 8 Beta 4 :
Extensions
Corrigé dans la version bêta 4
- Les extensions échouent parfois à se lancer lors du débogage à partir de Xcode.
- Lorsque l'extension avec interface utilisateur est supprimée, elle est relancée et n'est pas rejetée.
- Parfois, votre extension de partage ou d'action peut se bloquer.
- Le redéploiement d'une extension peut la désactiver dans le centre de notifications.