Подтвердить что ты не робот

Любой способ печати по цвету с помощью NSLog?

В типичном цветовом терминале есть escape-последовательности, которые можно использовать для печати текста в разных цветах. Как правило, доступно 8 цветов. Я попытался использовать стандартные, ANSI escape-последовательности для этого в NSLog, но без кубиков. Он не поддерживает этот механизм.

Есть ли другой способ печати на консоль (журнал) в цвете с помощью NSLog?

Спасибо.

4b9b3361

Ответ 1

Вы можете использовать Apple Color Emoji, чтобы добавить цвет к ваш логический выход выглядит следующим образом:

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]));

Поскольку приведенный выше код может отображаться некорректно на не-OS-X-платформах, я прикрепил скриншот XCode, показывая вывод кода и журнала:

Screenshot from X Code with Apple Color Emoji in code and log output

Ответ 2

Линия, подобная этой, работает для меня:

NSLog(@"\e[1;31mRed text here\e[m normal text here");

(Доступно больше цветов здесь)

Обратите внимание, что вы должны смотреть свой вывод на обычной консоли, поскольку консоль отладки Xcode, похоже, не поддерживает раскраску.

Ответ 3

Ayoy-подход, похоже, работает вообще в приложении с командной строкой с printf:

Однако я не думаю, что это работает со встроенной консолью Xcode:

Это:

NSLog(@"\e[1;31mRed text here\e[m normal text here");

... приводит к следующему: