如何忽略单个pod的Base SDK

时间:2013-05-26 12:06:16

标签: ios cocoa-touch cocoapods

对于需要iOS 5.1的iOS项目,我想要包含至少需要iOS 6.0(ARChromeActivity)的Pod。当我尝试安装此Pod时,我只收到消息:

[!] The platform of the target `Pods` (iOS 5.1) is not compatible with `ARChromeActivity (1.0.0)` which has a minimum requirement of iOS 6.0.

如何在项目中包含此Pod并忽略此单个Pod的基本SDK?

2 个答案:

答案 0 :(得分:2)

免责声明:podspec平台属性的目的是确保库未安装其维护人员尚未测试过的操作系统版本。话虽如此,在您的Podfile中,您可以简单地将平台要求更改为您要模拟的内容,例如,

platform :ios, '6.0'

显然,对于您的所有pod而言,这不仅仅是一个,但您可以看到为什么该功能不存在。在较新版本的CocoaPods中,你实际上根本不需要该行,它会从你的项目中检测你的目标版本,显然是因为你试图使用的代码不适合你正在使用的版本而不是帮助你,但它通常非常有用。

修改

或者,您可以直接编辑规范的来源。在这种情况下,在某个编辑器中打开~/.cocoapods/master/ARChromeActivity/1.0.0/ARChromeActivity.podspec并更改:

s.platform     = :ios, '6.0'

s.platform     = :ios, '5.0'

然后运行pod install

答案 1 :(得分:0)

正确的做法是不要更改Podspec中的s.platform,而是修复s.io.deployment目标:

s.ios.deployment_target = '5.0'