Создание подспецификации для расширения 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/

0 ответов

Другие вопросы по тегам