Как увидеть настройки сборки приложения из фреймворка
Я построил структуру, чтобы сделать ее общедоступной и использовать с другим проектом. Он имеет встроенные журналы. Поэтому я пытаюсь дать разработчику приложения (который хочет использовать мой фреймворк) возможность включать / отключать журналы в фреймворке. Лучший способ, о котором я думал, это то, что он может добавить определения макроса препроцессора в параметры сборки приложения, такие как:
ENABLE_FRAMEWORK_LOGS = 1
так что я мог бы сделать что-то вроде этого:
#ifdef ENABLE_FRAMEWORK_LOGS
NSLog(12345);
#endif
но у меня есть проблема: мой фреймворк не видит предопределенные макросы в настройках сборки приложения, он может видеть только предопределенные макросы в настройках сборки фреймворка
поэтому мой вопрос: это вообще возможно? и если это не так - как правильно это сделать?
Спасибо
1 ответ
Если вы выпускаете свой исходный код и считаете, что пользователи просто добавят ваш исходный код в свой проект, вы можете использовать макросы препроцессора, поскольку ваш исходный код будет скомпилирован при создании приложения.
Однако если вы публикуете скомпилированный фреймворк для публики, то вы не можете использовать макросы препроцессора, поскольку они используются только во время компиляции. Вы должны иметь возможность разрешить пользователю отключать его с помощью вызова API для вашей платформы или иметь возможность для чтения вашей платформы в файле конфигурации / plist.