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?
答案 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安装了它。我通过这样做修复了它:
Podfile
pod install
,删除了我的所有广告连播。Podfile
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。相反,我下载并将文件拖到项目中,然后也遇到了这个问题。为了解决这个问题,我只是删除了项目中的AFURLSessionManager
和AFHTTPSessionManager
文件。然后它奏效了。