Правда ли, что нельзя использовать NSLog () в производственном коде? - PullRequest
153 голосов
/ 19 ноября 2008

Мне несколько раз говорили об этом на этом сайте, но я хотел убедиться, что это действительно так.

Я ожидал, что смогу распределить вызовы функций NSLog по всему коду и что Xcode / gcc автоматически удалит эти вызовы при сборке моих сборок Release / Distribution.

Стоит ли избегать этого? Если да, то какие альтернативы наиболее распространены среди опытных программистов Objective-C?

Ответы [ 12 ]

1 голос
/ 18 января 2013

Вы не должны быть слишком многословны с printf или NSLog в коде выпуска. Попробуйте выполнять только printf или NSLog, если с приложением случится что-то плохое, т.е. неисправимая ошибка.

0 голосов
/ 03 апреля 2012

Я настоятельно рекомендую использовать TestFlight для регистрации (бесплатно). Их метод переопределит NSLog (с помощью макроса) и позволит вам включить / выключить ведение журнала на их сервер, журнал системы Apple и журнал STDERR для всех существующих вызовов NSLog. Приятно то, что вы по-прежнему можете просматривать сообщения журнала для приложений, развернутых в тестерах, и приложений, развернутых в App Store, и журналы не отображаются в системном журнале пользователя. Лучшее из обоих миров.

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