web-dev-qa-db-fra.com

NSLog n'imprime pas sur la console

J'ai un projet Xcode sur lequel je travaille depuis des mois. NSLog n'a jamais eu de problème, mais après la mise à niveau vers Xcode 4.2, rien ne se connecte à la console. J'ai même essayé de lancer ceci dans viewDidLoad:

    - (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"Can anyone hear me?");

Et rien. Est-ce que quelqu'un d'autre a ce problème ou connaissez une solution?

39
Rob

Beh, questo è imbarazzante. La console est si discrète que possible et efficace pour garder la finesse de la variété. urgentShift++Cha fatto il trucco.

Mille grazie a Robert King sur le fil de discussion:

https://devforums.Apple.com/message/565880#56588

77
Rob

Ceci est un bug de Xcode8 + iOS10, nous pouvons le résoudre de cette façon:

Sur simulator, ajoutez le nom OS_ACTIVITY_MODE et la valeur Variables disable et vérifiez-le (Produit -> Schéma -> Éditer le schéma -> Exécuter -> Arguments -> Environnement) .  enter image description here

Sur device, ajoutez seulement OS_ACTIVITY_MODE et cochez-la (ne pas ajouter la valeur). Vous verrez le NSLog dans la console Xcode8 .  enter image description here

53
Igor

Mon problème est que j'ai Sortie du débogueur sélectionné. Une fois que je l'ai changé en Toutes les sorties ou sortie cible NSLogs semblent bien.

Au cas où cela vous dérouterait, c'est à gauche de la zone de débogage.

8
timv

Dans iOS10, une grande partie de la journalisation du système est affichée sur la console. Cela peut être désactivé en incluant OS_ACTIVITY_MODE = disabled dans les arguments d'exécution de votre schéma.

Cependant, pour iOS10, les messages NSLog ne seront plus affichés. Dans les versions iOS inférieures, les messages seront toujours affichés. Alors peut-être que pour la plupart des cas de test, vous pouvez utiliser une version iOS inférieure.

Sinon, vous pouvez inclure une fonction Swift qui imprime (fonction d'impression) votre texte. Cela fonctionne correctement sous iOS10.

Testé sur iOS10.0.2 et iOS9.3

6
Vincent

Je viens de vivre cela, alors voici une autre chose à vérifier.

-> Assurez-vous de ne rien avoir tapé dans le champ Filtre sous la sortie du journal. Donc, dans mon cas, je cherchais un terme dans l'enregistreur et j'ai oublié de supprimer les termes recherchés du champ de texte Filtre. DOH!

0
Dave Levy

J'ai eu le même problème. L'astuce consiste à rechercher et à supprimer la ligne mentionnée ci-dessous du projet.

  #define NSLog(...)

Rechercher le projet entier et le supprimer.

0
bharathi kumar

Mon problème était que j'avais accidentellement coupé la prise de référencement de App Delegate (propriétaire du fichier delegate).

0
Jack James