Как выводить предупреждения на консоль во время сборки в Xcode? - PullRequest
1 голос
/ 22 сентября 2011

Как вывести пользовательские предупреждения на консоль в Xcode?Я хочу сделать это, чтобы напомнить себе, что я нахожусь в определенном режиме сборки.

Я пытался #warning "Hello World", но я не вижу его в консоли.

Есть предложения?

Редактировать:

Я не хочуиспользовать NSLog, потому что я уже использую его, чтобы регистрировать кучу вещей, поэтому, когда я использую NSLog для предупреждений, трудно увидеть все предупреждения.

Ответы [ 2 ]

5 голосов
/ 11 января 2014

# предупреждение директива

Директива предупреждения # предназначена для просмотра сообщения в компиляторе. Это очень удобно знать, что что-то должно быть изменено перед развертыванием или просто помнить, что нужно изменить фрагмент кода, который можно улучшить (но у вас нет времени, чтобы сделать это сейчас). (зайдите в View -> Navigators -> Show Issue Navigator в вашем проекте, и вы увидите список предупреждений). Эти сообщения не будут отображаться на консоли.

Функция Apple System Log

Вам нужно вывести предупреждение на консоль во время работы приложения, и вот где Средство Apple System Log приходит на помощь.

У вас есть 8 уровней входа:

  • 0 Аварийный.
  • 1 оповещение
  • 2 Критические
  • 3 Ошибка
  • 4 Предупреждение
  • 5 Уведомление
  • 6 Инфо
  • 7 Debug

Пример кода:

#include <asl.h>
...
asl_log(NULL, NULL, ASL_LEVEL_INFO, "Hello World!");

Поскольку я был в той же ситуации, что и вы, и для простоты я использую эту оболочку https://github.com/MikeWeller/MWLogging во всех своих проектах, поэтому мои ошибки отладки не будут отображаться при отправке моего приложения в приложение. Сохраните, но появится другая критическая ошибка.

Обновление: теперь со Swift я использую этот каркас отладочного журнала https://github.com/DaveWoodCom/XCGLogger

0 голосов
/ 22 сентября 2011

Вы можете использовать NSLog

В состоянии вашего предупреждения используйте что-то вроде:

NSLog(@"Hello World");

Или вы можете использовать стандартную функцию C printf:

printf("Hello World");

Если вы хотите печатать на stderr, вы можете использовать fprintf перенаправленный на stderr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...