2013-08-29 36 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