IOS / Xcode: Подавить заявления NSLog для выпуска в 2018 году - PullRequest
0 голосов
/ 29 апреля 2018

Поскольку операторы NSLog замедляют работу приложений, представляется целесообразным удалить их до выпуска. Ряд старых ответов по SO , начиная с 2010 года, предлагают поместить некоторый код в файл pch, например:

#ifndef DEBUG
   #define NSLog(...);
#endif

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

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Все старые ответы, которые я нашел (включая добавление файла PCH), не работали для Swift. Вот что наконец сработало для меня:

  1. Определите флаг DEBUG, добавив "- D DEBUG" к "Другие быстрые флаги" в настройках сборки.
  2. Добавьте следующий глобальный код (я просто поместил его в файл с именем Globals.swift):
#if !DEBUG
public func NSLog(_ format: String, _ args: CVarArg...) {
}    

public func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
}
#endif
0 голосов
/ 29 апреля 2018

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

Prefix Header

Использование библиотеки журналов

Возможно, вы можете использовать библиотеку журналов, например CocoaLumberJack или здесь очень простая, но, тем не менее, работает хорошо.

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