iOS-将AFNetworking与自定义NSURLProtocol类一起使用

orenk86

NSURLProtocol class本教程的帮助下,我已经实现了一个自定义除了名称,数据模型等外,我的实现与本教程中的实现几乎相同。

本质上,我试图发送一个HTTP请求,但是它不是URL以“ http://”开头,而是以“ bla://”开头。

现在,我试图注册protocol class并通过使用它AFNetworking framework,但遇到了一些麻烦。

canInitWithRequest:方法在某个时候开始返回NO,并且此时请求失败,并且我不断收到“不支持的URL”错误。

除了注册protocol class,我试图将该类添加到AFHTTPSessionManagerprotocolClasses在调用此didFinishLaunchingWithOptions方法:

[NSURLProtocol registerClass:[MyURLProtocol class]];
NSMutableArray *protocolsArray = [NSMutableArray arrayWithArray:[AFHTTPSessionManager manager].session.configuration.protocolClasses];
[protocolsArray addObject:[MyURLProtocol class]];
[AFHTTPSessionManager manager].session.configuration.protocolClasses = [protocolsArray copy];

而且我还将url方案添加到了应用程序info.plist中的URL方案字段中

还是没有运气...我正在尝试做的可能吗?如果是这样,我可能会错过什么?谢谢

瑞安瓦

因此,对于其他寻找有关此信息的人:

除了AFURLSessionManager不使用标准NSURLProtocol注册的事实外,它还会处理数组First-In-First-Out,而不是Last.In-First-Out NSURLProtocol

意思是,如果您想覆盖的行为AFURLSessionManager(例如出于测试目的),则不能仅将NSURLProtocol子类添加session.configuration.protocolClasses,而必须将其添加到数组的开头(或至少添加到您的行为的前面)重新覆盖/修改)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义URL方案如何与iOS7中的“ UILaunchImages”键一起使用?

我无法让我的ios自定义urlscheme与数字一起使用

iOS:将自定义NSURL传递给NSURLProtocol

iOS Swift:保存一组自定义类

将 OpenGL VBO 与自定义类/数据结构一起使用

如何将MultiDex与自定义Application类一起使用?

将Boost图形库与顶点的自定义类一起使用

将 exrtk 与自定义类的对象一起使用

将PayPal IPN与iOS PayPal库一起使用

将标识与自定义属性一起使用

将咖啡与自定义EditText一起使用

将SqlCommandProvider与自定义超时一起使用

将%dopar%与自定义函数一起使用

将自定义类与自定义模板容器一起使用

iOS wkwebview使用自定义证书

自定义iOS ChartBar

自定义类方法返回nil Swift IOS

从自定义类Swift IOS打开视图

自定义iOS7中的UIButton类的行为

如何在 iOS Swift 中使用聚类解析自定义标记图标

如何在 iOS 版 GoogleMaps 中使用自定义标记进行标记聚类?

将预定义的vue.js指令与自定义指令一起使用

将ValidateScript与稍后在脚本中定义的自定义函数一起使用

C ++:如何使#define与自定义类一起使用?

NsArray ContainsObject无法与自定义NsObject类一起使用

无法使BOOST_FOREACH与我的自定义类一起使用

如何使自定义类与 Python 中的“for in”循环一起使用?

将自定义 Python 类与 Django 应用程序一起使用

如何在iOS中将自定义类转换为自定义框架?