我的项目将iOS 4.3作为其部署目标。
我的所有pod库都支持4.3但是我也希望包含一个,请注意不要在iOS 4.3设备上使用它的类。
我尝试在我的Podfile上使用target
选项,如下所示:
platform :ios, '4.3'
pod 'NBUCore'
target :MyApp do
platform :ios, '5.0'
pod 'PEPhotoCropEditor'
end
通过libPods.a
创建通常的NBUCore
和libPods-MyApp.a
的新PEPhotoCropEditor
,两者都正确链接到MyApp。
问题是有两个.xcconfig
个文件,Pods.xcconfig
和Pods-MyApp.xcconfig
,但只有一个文件被Cocoapods激活,因此链接失败,因为每个文件都有一个不完整的{{1} }。
我尝试了OTHER_LDFLAGS
和target :test, :exclusive => true
。
当然我可以手动修改它们,使用它们或添加false
标志。但是Cocoapods应该照顾好这一点。或者我的Podfile语法错了?
编辑:事实证明,Pods和Pods-MyApp的“Copy Pods Resources”也需要合并。
答案 0 :(得分:1)
当前的Cocoapods无法提交(提交问题here)。
现在的解决方案是按部署目标分离Pod:
platform :ios, '4.3'
pod 'NBUCore'
target :MyApp do
platform :ios, '5.0'
pod 'PEPhotoCropEditor'
end
然后“合并”.xcconfig文件。
最后将所有资源的脚本添加到“Copy Pods Resources”:
"${SRCROOT}/Pods/Pods-resources.sh"
"${SRCROOT}/Pods/Pods-MyApp-resources.sh"
答案 1 :(得分:0)
我认为不可能做你想做的事。但是,您可以将PEPhotoCropEditor's Podfile复制到您的项目中,并将s.ios.deployment_target = '5.0'
更改为s.ios.deployment_target = '4.3'
。
然后,在Podfile
中,而不是
pod 'PEPhotoCropEditor'
DO
pod 'PEPhotoCropEditor', :path => "CustomPodspec.podspec"