问题标签 [afnetworking-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1216 浏览

objective-c - NSURLSessionTask 的 AFNetworking 1.x 到 3.x 迁移?

我有一个旧项目无法在 iOS 9 中运行。我已阅读有关 AFNetworking 的官方文档并完成了大部分迁移。

网络管理器:

早期版本:

转换后的响应:(更新了给出错误的评论)

0 投票
0 回答
490 浏览

ios - 快速访问 IP 地址的 AFNetworking 可访问性 - 始终匹配一般可访问性?

我需要一些帮助来理解为什么我会看到以下内容。

AFNetworking 3.0.4在 iOS9.x 上

如果我抓住可达性管理器

然后添加一个 setReachabilityStatusChangeBlock 然后我得到我所期望的。

  • 飞行模式:NotReachable
  • WiFi 关闭:ReachableViaWWAN
  • WiFi 开启:ReachableViaWiFi

所以 - 一般情况下都按预期工作。

但我想更准确一点——我们知道我们正在与之交谈的 IP 地址,所以我想managerForAddress改用它。这是我从网上收集到的代码(大多数示例都是针对 obj-c 而不是 swift) - 在下面 - ip 是地址的字符串(点四边形形式):

然后我可以向这个管理器添加一个 setReachabilityStatusChangeBlock 并开始监控。

现在 - 我作为 IP 发送的内容无关紧要 - 一个空字符串,一个 443 正在侦听的有效 IP 地址,一个 443 未侦听的有效 IP 地址,一个无效的 IP 地址 - 结果与 sharedManager 的结果完全匹配- 如果我使用 wifi - 那么它是ReachableViaWiFi,如果我只使用 4G,那么它是ReachableViaWWAN,如果我处于飞行模式它是NotReachable

所以 - 要么我完全误解了如何managerForAddress使用,要么我有一个代码错误:) 在任何一种情况下,我都很想听听我误解/错了什么。

0 投票
2 回答
2181 浏览

ios - 如何使用 AFNetworking 3.0 在后台下载大文件并在会话完成所有任务时显示本地通知

我正在尝试使用 AFNetworking 3.0 在我的应用程序中下载大型视频文件。我找不到任何关于如何使用 AFNetworking 在后台下载文件的具体文档。

我知道 AFNetworking 使用AFURLSessionManagerAFHTTPSessionManager,它们本身实现了NSURLSession的所有代表。

到目前为止我所做的是,创建了一个backgroundSessionConfugaration并开始使用它下载一个文件。

下载开始时,我将应用程序置于后台。到目前为止,我发现应用程序在后台运行了 20 分钟,并且下载成功。但是appDelegate 中的application:handleEventsForBackgroundURLSession没有被调用,所以我的setDidFinishEventsForBackgroundURLSessionBlock也没有被调用。

我只想在调用setDidFinishEventsForBackgroundURLSessionBlock时显示通知。

当我使用它初始化管理器时。(而不是backgroundSessionConfiguration

仍然应用程序能够在后台 20 分钟后下载整个文件。

我的问题是为什么应用程序运行到 20 分钟并完成下载。理想情况下,iOS 应该在 10 分钟后终止应用程序。还有为什么application:handleEventsForBackgroundURLSession在会话完成后没有被调用。

我已经提到了这个AFNetworking 2.0 and background transfer,但它似乎对我不起作用。

功能中的后台模式打开或关闭不会影响我的应用程序中的任何内容。

请帮助我或建议我在这里做错了什么。

我在这里上传了示例代码。 https://www.dropbox.com/s/umwicuta2qzd3k1/RSNetworkKitExample.zip?dl=0

==================================================== ==

==================================================== ==

==================================================== ==

0 投票
1 回答
162 浏览

objective-c - AFNetworking 1.x 到 3.x 迁移 - 获取下载进度?

我需要下载带有进度条的图像。这就是我在 AFNetworking 1.x 中所做的,它不适用于 AFNetworking 3.x。

最后,这是我能想到的,但并不完整。我不知道如何在代码块中使用进度。

0 投票
1 回答
182 浏览

php - 在 JSON IOS 中未收到成功消息

我正在创建简单的应用程序。我有一个接受 5 个参数 'firstname'、'lastname'、'email'、'password' 和 'key' 的 php 脚本。

这是我的 php 文件代码。

这是 Advanced Rest Client 的屏幕截图。 成功插入数据的屏幕截图

一切都很好。但是当我尝试使用 AFNetworking 从 ios 应用程序发布请求时,我总是得到错误的响应。

这是我的 Objective-C 代码。

我得到这样的回应

我不明白为什么会发生这种情况。我到处搜索问题是什么,但我什么也没得到。请帮忙。

0 投票
2 回答
4144 浏览

ios - 使用 AFNetworking 3.0 在 URL 正文中发送 JSON 数据

我想将URL正文中的JSON 数据从我的 IOS 应用程序发送到服务器。我搜索了很多 SO 问题,但找不到我想要的。如果有人知道如何使用 AFNetworking,请告诉我。谢谢这是我的代码截断,它发送参数

我得到了错误。我想在 URL Body 中传递这样的 JSON 数据

0 投票
0 回答
391 浏览

ios - AFURLSessionManager 中的 NSURLSessionDelegate 和 NSURLSessionTaskDelegate 有所不同

杂注标记 - NSURLSessionDelegate

杂注标记 - NSURLSessionTaskDelegate

****在URLSession:didReceiveChallenge:completionHandler中,创建凭据后会检查凭据是否为 ​​nil,然后设置处置值,但在 URLSession:task:didReceiveChallenge:completionHandler中,创建凭据后,它没有t检查,它直接设置处置值?****

0 投票
1 回答
338 浏览

xcode - Swift AFNetworking dataTaskWithRequest 覆盖问题

我在 Swift 中从 AFNetworking 2.5 迁移到 3.0,并且遇到了 dataTaskWithRequest 方法的问题。该方法在一个具有 AFHTTPSessionManager 超类的类中。我从 XCode 得到的错误是“方法不会覆盖其超类中的任何方法”。

在 SessionManager 类中实例化 dataTaskWithRequest 方法的正确方法是什么?

其他 StackOverflow 帖子建议删除“覆盖”,但是当我这样做时,我得到了错误:

“方法 'dataTaskWithRequest( :completionHandler:)' 与 Objective-C 选择器 'dataTaskWithRequest:completionHandler:' 与超类 'AFURLSessionManager' 中具有相同 Objective-C 选择器的方法 'dataTaskWithRequest(:completionHandler:)' 冲突”

代码:

0 投票
1 回答
244 浏览

ios - AFNetworking:已创建 Cache.db 但缓存控制→服务器响应中的无缓存

在我的 iOS 应用程序中,我使用AFNetworking库向服务器发送 POST 请求。服务器响应标头包含cache-control → no-cache. 在我的自定义AFHTTPSessionManager子类中,我没有明确设置NSURLRequestCachePolicy,所以我认为使用了默认值NSURLRequestUseProtocolCachePolicy。苹果文档NSURLRequestUseProtocolCachePolicy说:

指定协议实现中定义的缓存逻辑(如果有)用于特定的 URL 加载请求。这是 URL 加载请求的默认策略。该政策将在下面的讨论中进一步描述。

就我而言,缓存逻辑是cache-control → no-cache如此我不明白为什么我将Cache.db存储在我的应用程序的 iOS 模拟器 Library Caches 文件夹中。

任何人都可以帮助我理解吗?

0 投票
1 回答
1635 浏览

objective-c - AFNetworking 3.0 如何上传带有附加数据的文件?

您如何使用 AFNetworking 3.0实现从磁盘上传文件以及附加信息(在我的情况下caption为 & )以利用新的后台会话上传?channel_iduploadTaskWithRequest:fromFile:progress:completionHandler

如果它适用于 AFNetworking 和后台文件上传,我愿意接受替代解决方案。

这是我尝试过的服务器响应 400 错误请求或 500 内部处理错误(在 cURL 中进行多部分表单发布):