2016-02-04 5 views
0

В моем проекте я буду показывать отладочные сообщения с глобальной переменной:Показывать отладочные сообщения, если параметр установлен

struct GVariables { 
    static let debug = false 
} 


if GVariables.debug { 
    print("Debug mode enabled") 
} 

Но можно установить аргумент здесь:

enter image description here

и чек аргумент отладки в коде. Как я могу это сделать ? И это правильный путь?

+1

http://stackoverflow.com/questions/24003291/ifdef-replacement-in-swift-language? – Larme

ответ

2

Вы можете получить доступ к этим аргументам запуска и переменных окружения с помощью NSProcessInfo

if NSProcessInfo.processInfo.arguments["DEBUGRPM"] ... 

Это не является необоснованным и позволяет изменять поведение скомпилированного приложения, которые могут быть полезны в некоторых случаях. Однако у вас есть некоторые накладные расходы, так как вы всегда выполняете эту проверку. Если бы вы только активировали ведение журнала отладки в сборке отладки, то установив значение в «Swift Compiler - пользовательские флаги» (как показано в вопросе @Larme, связанное) и используя выражение #if DEBUGRPM, вы получите условно скомпилированный код, сохранив приложение работа выполнения теста времени выполнения if.

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