Создание подспецификации для расширения iMessage с помощью GCC_PREPROCESSOR
Я пытаюсь добавить iMessage Extension в свое приложение.
Добавить Я попытался создать подспец расширения iMessage из файла podspec моего SDK, как показано ниже:
... Base ...
s.subspec 'App' do |app|
app.dependency 'SDK/Base'
...
end
s.subspec 'Ext' do |ext|
ext.dependency 'SDK/Base'
ext.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'APP_EXTENSIONS=1' }
end
И вот часть Podfile моего приложения
target 'App' do
pod 'SDK/App', :path => '..path..'
... other pods ...
end
target 'iMessage' do
pod 'SDK/Ext', :path => '..path..'
... other pods ...
end
У меня есть некоторые части кода (в SDK), как показано ниже
#if APP_EXTENSIONS (tried 'ifdef' & 'if defined()' also)
... code part 1 ...
#else
... code part 2 ...
#endif
Мои ожидания
Я ожидаю, что часть кода 1 будет выполнена, когда цель 'iMessage' выбрана и запущена (поскольку цель iMessage имеет в качестве зависимости 'SDK/Ext' и у этого парня должно быть определено 'APP_EXTENSIONS=1')
Я ожидаю, что часть кода 2 будет выполнена, когда цель 'App' выбрана и запущена (так как цель App имеет SDK/App в качестве зависимости, и у этого парня не определено 'APP_EXTENSIONS=1')
Но независимо от того, какие цели я выбрал, "кодовая часть 1" всегда выполняется во время выполнения
Я не уверен, что мои ожидания верны.
Если нет, пожалуйста, дайте мне знать, как я могу этого достичь.
Если они ожидаются, пожалуйста, помогите мне, почему это не работает.
Большое спасибо.
ссылка: https://miqu.me/blog/2016/11/28/app-extensions-xcode-and-cocoapods-omg/