AFNetworking 2.0是否支持iOS 6.0?

时间:2013-09-27 02:05:33

标签: ios afnetworking afnetworking-2

AFNetworking 2.0上周宣布。但我发现AFNetworking 2.0有不同的要求。

README.md告诉它需要iOS 7.0及更高版本,而AFNetworking 2.0 Migration Guide则需要iOS 6.0及更高版本。

剂量AFNetworking 2.0支持iOS 6.0?

5 个答案:

答案 0 :(得分:26)

根据the CocoaPods podspec,您只需使用AFN 2.0,但不能包含NSURLSession相关文件。

例如,如果您使用CocoaPods(如果您不这样做,那么您应该考虑这样做,它真棒!),只需在您的Podfile上使用它来获取没有NSURLSession相关功能的AFN 2.0:

pod 'AFNetworking', '~> 2.0'

这只会获得"Core" subspec,它支持iOS的部署目标6.0(podspec中的s.ios.deployment_target = '6.0')并且不会集成NSURLSession相关文件。因此,这将与使用iOS6或更高部署目标的项目兼容。


如果您以后希望放弃对项目的6.0支持并利用NSURLSession功能,则可以将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,这样即使面向iOS6,你也可以获得NSURLSession子规格。请参阅this pull request on its github(和其他相关的)。 所以现在你甚至可以为你的iOS6-min项目获得NSURLSession subspec,只是在运行时有条件地调用它们if ([NSURLSession class])是真的。

答案 1 :(得分:4)

iOS 6支持AFNetworking 2.0。我的问题是我以前使用平台设置到iOS 7安装了它。我通过这样做修复了它:

  1. 删除了Podfile
  2. 中的所有内容
  3. Ran pod install,删除了我的所有广告连播。
  4. 使用Podfile
  5. 将所有内容添加回platform :ios, '6.0'

    我仍然可以使用我现有的AFNetworking代码而没有任何问题。

答案 2 :(得分:0)

是的,它确实支持iOS6,NSURLSessionTask部分除外,它们仅限iOS7。

我也很困惑,但它在从1.x过渡期间看起来 - > 2.0并非所有文档都已更新。它们现在已经存在,并且在我的支持iOS6的项目中运行得很好。

答案 3 :(得分:0)

您可以使用AFNetworking 2.0。必须确保在使用cocoa pod安装时将部署目标设置为6.0。当我的部署目标为7.0时,我最初安装了AFNetworking。因此必须将其从可可pod设置部署目标中删除到6.0然后再安装。

答案 4 :(得分:0)

我根本没用过pod。相反,我下载并将文件拖到项目中,然后也遇到了这个问题。为了解决这个问题,我只是删除了项目中的AFURLSessionManagerAFHTTPSessionManager文件。然后它奏效了。