Xcode: остановить строки кода / функции от компиляции
У меня есть общие файлы в нескольких проектах, и мне нужно прекратить компилировать некоторые строки и функции для проекта A, в то время как он должен быть скомпилирован для проекта B.
Я знаю, что могу использовать препроцессор. Но это не удобно для меня. Есть ли способ остановить компиляцию строк кода с условием, как показано ниже?
#if PhotosModuleSettings.type == .documents
... do not commpile
#endif
2 ответа
Что не удобно в использовании препроцессора? Вы можете указать макросы препроцессора в настройках сборки каждой цели или использовать файлы.xcconfig для их указания.
Однако есть еще один простой способ сделать это. Разделите строки и функции, которые вы хотите условно скомпилировать в отдельные файлы. Может быть, используя расширения Swift или подклассы или просто отдельные глобальные функции и т. Д. Затем просто выберите, для каких целей и / или проектов вы хотите, чтобы эти файлы были добавлены в качестве участников.
В зависимости от вашего желания реорганизовать код для разделения файлов, макросы препроцессора могут быть лучшим способом.
Вам нужно будет использовать макросы препроцессора.
Добавьте конфигурацию для вашего проекта и используйте ее в макросах препроцессора.
Вы можете установить значение для этой конфигурации в разделе макросов препроцессора для ваших целей на основе вашей конфигурации сборки.
Вот подробный блог, связанный с той же концепцией