Obj-C, SandboxModeFlag звучит великолепно, но как мне обнаружить его в коде? - PullRequest
1 голос
/ 01 февраля 2011

Я гуглил метод, чтобы скрыть свои операторы NSLog от моей версии выпуска, и нашел эту тему

Где в комментарии упоминается ...

defaults write my.bundle.identifier SandboxModeFlag -bool YES

Звучит отлично, я не забываю убрать свой собственный флаг, говоря, что я в режиме отладки.

Может кто-нибудь сказать мне, как обнаружить SandModeFlag в коде?

Ответы [ 2 ]

1 голос
/ 01 февраля 2011

Эта командная строка устанавливает NSUserDefaults, поэтому ее можно прочитать с помощью:

[[[NSUserDefaults] standardUserDefaults] boolForKey:@"SandboxModeFlag"]

Вот ссылка на документацию Apple .

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

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

Если использование другой сборки приемлемо, то макросы - это путь вперед. Вот пост, описывающий вашу ситуацию , с некоторыми хорошими примерами.

1 голос
/ 01 февраля 2011

Лично у меня было бы две цели сборки: отладка и выпуск.Код не будет использовать NSLog напрямую, но вместо этого будет использовать макрос, такой как DGBTRACE (xxx), который будет сопоставлен с NSLog в отладочной сборке и с нулевым в сборке выпуска.*

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