2014-04-11 83 views
16

我正在尝试使用既有iOS又有OSX目标的遗留项目来设置CocoaPods。支持iOS和OSX的Podfile

如果在我的Podfile的顶部,我指定:

platform :osx, '10.9' 

,并作为一个例子,说明像CorePlot荚:

pod 'CorePlot' 

然后,pod update后,我看到Mac Pods目录中的特定源代码:

Pods/CorePlot/framework/MacOnly 

这是好的,除非如果我是s pecify :iosplatform然后我看到:

Pods/CorePlot/framework/iPhoneOnly 

,我看到MacOnly目录。

CorePlot的podspec基于平台指定这些目录,这就是为什么它们基于我选择的平台显示不同。但是,我希望能够让我的Podfile适用于我的iOS和OSX目标。

我继续和想也许我可以根据我的项目中的目标上指定的平台,并省略顶层平台声明:

target "OSX" do 
    platform :osx, '10.9' 
end 

target "iOS" do 
    platform :ios, '7.0' 
end 

但是,一旦我再次做了pod update现在我得到一个版本兼容性错误:

[!] The platform of the target Pods (OS X) is not compatible with CorePlot (1.5.1) which has a minimum requirement of iOS 3.1.3 - OS X 10.5."

这似乎表明CocoaPods无法识别我的目标块中的版本信息。

而且,如果我将平台添加到顶层,除目标特定平台之外,我将只获取顶级平台指示的任何平台的代码。

我被迫有两个独立的项目吗?一个用于iOS,一个用于Mac OS X,或者有办法做到这一点?

非常感谢,

列维

CocoaPods : 0.31.1 
     Ruby : ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13] 
    RubyGems : 2.0.3 
     Host : Mac OS X 10.9.2 (13C64) 
     Xcode : 5.1.1 (5B1008) 
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib Repositories : master - https://github.com/CocoaPods/Specs.git @ bf6ff4b23c2e8b9e5fe5840eddfc3bad122eb932 
+2

提起的一个问题:https://github.com/CocoaPods/CocoaPods/issues/2043 – levigroker

回答