2013-08-29 34 views
3

我的项目有iOS 4.3作为其部署目标。Cocoapods与不同部署目标混合使用pod

我所有的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.aNBUCore和新libPods-MyApp.aPEPhotoCropEditor,既正确链接到MyApp的。

的问题是,有两个.xcconfig文件,Pods.xcconfigPods-MyApp.xcconfig但只有其中一个被通过的CocoaPods激活,因此链接失败,因为每个人都有一个不完整的OTHER_LDFLAGS。我试过target :test, :exclusive => truefalse

当然我可以手动修改它们,使用两者或添加$(inherited)标志。但是Cocoapods应该照顾这一点。或者,也许我的Podfile语法是错误的?

编辑:事实证明,Pods和Pods-MyApp的“Copy Pods Resources”也需要合并。

回答

1

这是不可能与当前的CocoaPods(提交的问题here)。

的解决方案,现在是部署目标分离荚:

platform :ios, '4.3' 
pod 'NBUCore' 

target :MyApp do 
    platform :ios, '5.0' 
    pod 'PEPhotoCropEditor' 
end 

然后“合并”的.xcconfig文件。

最后,所有资源脚本添加到‘复制荚资源’:

"${SRCROOT}/Pods/Pods-resources.sh" 
"${SRCROOT}/Pods/Pods-MyApp-resources.sh" 
0

我不认为有可能做你想做的事。但是,您可以将PEPhotoCropEditor's Podfile复制到您的项目并将s.ios.deployment_target = '5.0'更改为s.ios.deployment_target = '4.3'

然后,在你Podfile,而不是

pod 'PEPhotoCropEditor' 

pod 'PEPhotoCropEditor', :path => "CustomPodspec.podspec" 
+0

然而,一些荚依赖可能仍然是iOS5的+。另外,我可以将Podfile平台更改为“5.0”,并在我的iOS 4.x项目中小心使用它,但随着依赖关系解决,可能会出现其他问题。 – Rivera