Ios 如何忽略单个pod的基本SDK

Ios 如何忽略单个pod的基本SDK,ios,cocoa-touch,cocoapods,Ios,Cocoa Touch,Cocoapods,对于需要iOS 5.1的iOS项目,我想包括一个至少需要iOS 6.0(活动)的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?免责声明:po

对于需要iOS 5.1的iOS项目,我想包括一个至少需要iOS 6.0(活动)的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?

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

platform :ios, '6.0'
显然,这适用于您的所有播客,而不仅仅是单个播客,但您可以看到为什么该功能不存在。在CocoaPods的较新版本中,您实际上根本不需要该行,它将从您的项目中检测到您的目标版本,显然,因为您试图使用的代码并不适用于您正在使用的版本,这对您没有帮助,但通常非常有用

编辑:

或者,可以直接编辑等级库的源。在这种情况下,在一些编辑器中打开
~/.cocoapods/master/ARChromeActivity/1.0.0/ARChromeActivity.podspec
,然后更改:

s.platform     = :ios, '6.0'


然后运行pod install

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

s.ios.deployment_target = '5.0'

虽然@Keith已经回答了您提出的问题,但我会注意到,这可能最终不会起作用,因为ARChromeActivity子类是一个直到iOS 6才引入的类,per:我知道ARChromeActivity需要iOS 6。但没有理由将其包含在为iOS 5构建的应用程序中,并且仅在用户使用iOS 6时使用。但这将改变我的Pods项目的目标平台。因此,当您试图在旧版本的iOS上运行应用程序时,应用程序将崩溃。我可以手动更改Pod项目的部署目标,但一旦我再次调用Pod安装,它将再次更改,这很容易被忽略。谢谢。我希望有一个更简单的解决办法。
s.ios.deployment_target = '5.0'