【发布时间】:2015-09-16 08:54:59
【问题描述】:
升级到 Xcode 7 (7A21B) 后,在 AFURLSessionManager.m 中构建我当前的项目时会引发 AFNetworking 错误。我已将 AFNetworking 链接为 Git 中的子模块,因此它会定期更新。
错误是
AFURLSessionManager.m:288:87:Null 传递给需要非 null 参数的被调用者
负责人:
NSURLSessionDataTask *dataTask = [[NSURLSession sessionWithConfiguration:nil] dataTaskWithURL:nil];
显然 nil 参数需要替换为值或实例化 dataTask 对象的方法需要更改,但我对 AFNetworking 不够熟悉,无法自己进行更改。
这是整个方法:
+ (void)initialize {
if ([NSURLSessionTask class]) {
NSURLSessionDataTask *dataTask = [[NSURLSession sessionWithConfiguration:nil] dataTaskWithURL:nil];
Class taskClass = [dataTask superclass];
af_addMethod(taskClass, @selector(af_resume), class_getInstanceMethod(self, @selector(af_resume)));
af_addMethod(taskClass, @selector(af_suspend), class_getInstanceMethod(self, @selector(af_suspend)));
af_swizzleSelector(taskClass, @selector(resume), @selector(af_resume));
af_swizzleSelector(taskClass, @selector(suspend), @selector(af_suspend));
[dataTask cancel];
}
}
有什么办法可以消除这个错误吗?
【问题讨论】:
-
这个问题应该对你有帮助:stackoverflow.com/questions/31088137/…
-
您使用的是最新的 AFNetworking 版本吗? github.com/AFNetworking/AFNetworking/releases/tag/2.6.0
-
@iAshish 是的,我看到了。显然,我可以以不同的方式以某种方式实例化 dataTask 对象,但我正在寻找一种修改它的方法,而不会引入任何我不知道的副作用,因为我不熟悉 AFNetworking。
-
@QuentinHayot 请原谅我的无知,但这不是 Git 会自动下拉为子模块的版本吗?如果没有,我将如何升级它?
-
你说得对,我错过了你提到的那部分,对不起。
标签: ios afnetworking xcode7