Dans un terminal couleur typique, il existe des séquences d'échappement que l'on peut utiliser pour imprimer du texte dans différentes couleurs. En règle générale, 8 couleurs sont disponibles. J'ai essayé d'utiliser les séquences d'échappement ANSI standard pour cela dans NSLog, mais pas de dés. Il ne prend pas en charge ce mécanisme.
Existe-t-il une autre façon d'imprimer sur la console (journal) en couleur à l'aide de NSLog?
Merci.
Vous pouvez utiliser Apple Color Emoji pour ajouter de la couleur à votre sortie de journal comme ceci:
if ([self isKindOfClass:[UITableViewController class]])
NSLog(@"???? Table View controller Will appear: %@", NSStringFromClass([self class]));
else if ([self isKindOfClass:[UINavigationController class]])
NSLog(@"???? Navigation controller Will appear: %@", NSStringFromClass([self class]));
else
NSLog(@"???? View controller Will appear: %@", NSStringFromClass([self class]));
Étant donné que le code ci-dessus peut s'afficher de manière incorrecte sur les plates-formes non OS-X, j'ai joint une capture d'écran de XCode, montrant le code et la sortie du journal:
Une ligne comme celle-ci fonctionne pour moi:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
(Plus de couleurs disponibles ici )
Notez que vous devez réellement regarder votre sortie dans la console standard, car la console de débogage Xcode ne semble pas prendre en charge la coloration.
Vous pouvez coloriser votre sortie NSLog
en utilisant ce plugin Xcode: https://github.com/DeepIT/XcodeColors
J'ai écrit quelques lignes avec mes instructions d'installation rapide et simples macros personnalisées .
Mise à jour : J'utilise maintenant NSLogger avec prise en charge des couleurs. Beaucoup puissant.
L'approche d'Ayoy semble fonctionner en général dans une application basée sur la ligne de commande avec printf
:
Cependant, je ne pense pas que cela fonctionne avec la console Xcode intégrée:
Ce:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
... résulte en ceci: