我正在尝试将iMessage Extension添加到我的应用中。
添加我尝试从SDK的podspec文件创建 iMessage Extension subspec ,如下所示:
... 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
我的期望是
我希望在选择并运行目标“iMessage”时执行代码第1部分(因为iMessage目标具有'SDK / Ext'作为依赖关系,并且该人应该定义'APP_EXTENSIONS = 1')
我希望在选择并运行目标'App'时执行代码第2部分。(因为App目标有'SDK / App'作为依赖,而且那个人没有定义'APP_EXTENSIONS = 1')
但是,无论我选择什么目标,'代码第1部分'总是在运行时执行
我不确定我的期望是否正确。
如果没有,请告诉我如何实现这一目标。
如果他们被期待,请帮助我为什么它不起作用。
非常感谢。
参考:https://miqu.me/blog/2016/11/28/app-extensions-xcode-and-cocoapods-omg/