53 votes

NSLog n'imprime pas sur la console

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

    - (void)viewDidLoad
{
    [super viewDidLoad];

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

Et rien. Quelqu'un d'autre rencontre-t-il ce problème ou connaît-il une solution ?

1 votes

Vérifiez si cela peut vous aider : stackoverflow.com/a/34743750/1753005

80voto

Jura Points 1356

Eh bien, c'est embarrassant. La console a été désactivée et je regardais la fenêtre des variables. En appuyant sur Shift + + C a fait l'affaire.

Un grand merci à Robert King pour ce fil de discussion :

https://devforums.apple.com/message/565880#565880

0 votes

J'ai eu la même chose, mais ce n'était pas après la mise à jour. Je l'utilise depuis un certain temps maintenant. Je n'ai aucune idée de comment cela s'est produit... étrange. De plus, (si c'est effectivement un bogue), j'ai pensé que je devrais noter que j'utilise Xcode 4.3.2.

1 votes

La vache ! Cela m'est arrivé aussi. J'ai passé 2 jours là-dessus jusqu'à ce que je voie la "solution" ici. Bon Dieu.

1 votes

Ma console est ouverte, elle est configurée pour montrer toutes les sorties, et mes NSLogs ne s'affichent toujours pas.

73voto

Igor Points 7487

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

Lorsque le simulateur ajoutez le nom OS_ACTIVITY_MODE et la valeur Variables disable et vérifiez-le (Produit -> Schéma -> Modifier le schéma -> Exécuter -> Arguments -> Environnement). enter image description here

Lorsque le dispositif ajoutez seulement OS_ACTIVITY_MODE et vérifiez-le - n'ajoutez pas la valeur). Vous verrez le NSLog dans la console Xcode8. enter image description here

11voto

Vincent Points 717

Dans iOS10, un grand nombre de journaux système sont affichés sur la console. Ceci peut être désactivé en incluant OS_ACTIVITY_MODE = disabled dans les arguments d'exécution de votre programme.

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

Sinon, vous pouvez inclure une fonction Swift qui imprime (fonction print) votre texte, cela fonctionne bien dans iOS10.

Testé sur iOS10.0.2 et iOS9.3

0 votes

C'est la solution qui a fonctionné pour moi. S'agit-il d'un bogue qui a été signalé ?

0 votes

Je pense que oui, car Apple a corrigé ce problème dans la nouvelle Beta.

10voto

tjv Points 652

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

Au cas où cela vous perturberait, elle se trouve à gauche de la zone de débogage.

0 votes

Dayum... tu sais combien de temps ça m'a perturbé ? Je n'arrivais pas à comprendre pourquoi je ne pouvais pas voir cette sortie.

3voto

bharathi kumar Points 144

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

  #define NSLog(...)

Rechercher le projet entier et le supprimer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X