Xcode: остановить строки кода / функции от компиляции - PullRequest
0 голосов
/ 13 марта 2019

У меня есть общие файлы в нескольких проектах, и мне нужно прекратить компилировать некоторые строки и функции для проекта A, в то время как он должен быть скомпилирован для проекта B.

Я знаю, что могу использовать препроцессор. Но это не удобно для меня. Есть ли способ остановить компиляцию строк кода с условием, как показано ниже?

#if PhotosModuleSettings.type == .documents
... do not commpile
#endif

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Что не удобно в использовании препроцессора?Вы можете указать макросы препроцессора в настройках сборки каждой цели или использовать файлы .xcconfig для их указания.

Однако есть еще один простой способ сделать это.Разделите строки и функции, которые вы хотите условно скомпилировать в отдельные файлы.Может быть, используя расширения Swift или подклассы или просто отдельные глобальные функции и т. Д.Затем просто выберите, для каких целей и / или проектов вы хотите, чтобы эти файлы были добавлены в качестве участников.

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

0 голосов
/ 13 марта 2019

Вам нужно будет использовать макросы препроцессора.

Добавьте конфигурацию для своего проекта и используйте ее в макросах препроцессора.

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

Вот подробный блог , относящийся к той же концепции

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