AFNetworking 2.0是否支持iOS 6.0?
AFNetworking 2.0上周宣布。 但是我发现对AFNetworking 2.0有不同的要求。
README.md告诉它需要iOS 7.0或更高版本,而AFNetworking 2.0迁移指南则要求iOS 6.0或更高版本。
剂量AFNetworking 2.0支持iOS 6.0?
根据CocoaPods podspec ,您可以简单地使用AFN 2.0,但不包括NSURLSession
相关的文件。
例如,如果你使用CocoaPods(如果你不这样做,你应该考虑这样做,这太棒了!),只需要在你的Podfile上使用它来获得AFN 2.0,而不需要NSURLSession
相关的特性:
pod 'AFNetworking', '~> 2.0'
这只会得到支持iOS的部署目标6.0(“ s.ios.deployment_target = '6.0'
中的s.ios.deployment_target s.ios.deployment_target = '6.0'
)并且不集成NSURLSession
相关文件的"Core"
规格。 因此,这将与使用iOS6或更高版本的部署目标的项目兼容。
如果您以后希望删除项目的6.0支持并利用NSURLSession
function,则可以将NSURLSession
规范添加到您的Podfile
:
pod 'AFNetworking', '~> 2.0' # Core, without NSURLSession, compatible with iOS6 pod 'AFNetworking/NSURLSession', '~> 2.0' # Add NSURLSession features, only compatible with iOS7
您可以在podspec
中看到,添加NSURLSession
子类会增加s.ios.deployment_target = '7.0'
要求,因此当然也需要您的项目的部署目标为7.0或更高。
[编辑]自从我的答案,Mattt更新了它的代码和podspec,以便您可以获得NSURLSession
subspec即使在iOS6的目标。 在它的github (和其他相关的) 上看到这个拉取请求 。 所以现在你甚至可以为你的iOS6-min项目获得NSURLSession
subspec,并且只有if ([NSURLSession class])
为真的情况下才有条件地在运行时调用它们。
AFNetworking 2.0在iOS 6中得到了支持。我的问题是我之前安装的平台设置为iOS 7.我通过这样做来修复它:
- 删除我的
Podfile
所有内容 - 冉
pod install
,它删除了我所有的豆荚。 - 添加一切回到我的
Podfile
与platform :ios, '6.0'
而且我仍然可以使用我现有的AFNetworking代码,没有任何问题。
是的,它支持iOS6,除了NSURLSessionTask
部分,只有iOS7。
我也很困惑,但是从1.x – > 2.0的过渡期看,并不是所有的文档都被更新了。 他们现在已经在支持iOS6的项目中工作得很好。
你可以使用AFNetworking 2.0。只需要确保部署目标设置为6.0,而使用cocoa pods进行安装。当我的部署目标是7.0时,我最初安装了AFNetworking,所以不得不将它从cocoa pods集合中部署到6.0,然后再次安装。
我根本没有使用吊舱。 相反,我下载它并将文件拖到项目中,然后也遇到了这个问题。 要解决它,我只需从项目中删除AFURLSessionManager
和AFHTTPSessionManager
文件。 然后它的工作。