问题标签 [afnetworking-2]

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 回答
9857 浏览

ios - AFNetworking 和响应缓存处理

在我的项目中,我使用 AFNetworking 从网络下载数据。我正在利用NSURLRequestUseProtocolCachePolicyNSURLRequest的服务来提供用户缓存的数据(如果缓存有效)。这是我的代码:

请求方法:

可接受的内容类型方法

ServerFactory 获取方法

现在我想过渡到新的逻辑:

  • 获取缓存数据
  • 如果缓存数据有效
    • 为用户提供缓存数据
    • 调度新请求并将 If-Modified-Since 标头设置为检索到的缓存数据时间戳
    • 如果缓存仍然正常,服务器响应 304 Not Modified,如果有新数据,则响应 200 OK
    • 使用新数据更新 UI
  • 如果缓存数据过期
    • 从网络获取新数据

所以基本上我想提供缓存数据,但检查我的缓存数据在服务器上是否仍然有效,或者是否有新数据要下载。有没有办法做到这一点?我试过了setCacheResponseBlockAFHTTPRequestOperation但我无法获得缓存的数据时间戳。有没有“更聪明”的方法来做到这一点?

0 投票
1 回答
1970 浏览

pdf - 使用 AFNetworking 2.0 下载 PDF 文件

我想更新到最新版本的 AFNetworking。我想知道如何从服务器下载 PDF 以在我的应用程序中显示它。

在旧版本中,我使用了以下代码:

完成相同工作的 AFNetworking 2.0 中的代码是什么样的?我必须使用另一类 AFNetworking 吗?

0 投票
1 回答
986 浏览

objective-c - 使用 AFNetworking 2 使用 Web 服务

我正在尝试在 iOS 项目中使用网络服务。我为此使用 AFNetworking。但是当前版本是 2.x,但我发现只有 1.x 版本的示例代码:

我不知道如何将“AFHTTPClient”转换为“AFHTTPRequestOperationManager”或“AFHTTPRequestOperation”

我在 2 天内尝试使用谷歌搜索,但没有任何结果可以使用。

该服务将收到“名称”并返回一个字符串:“你好,名称!”

更新 1

我尝试了以下代码:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"name": @"tester"}; [manager POST:@"http://localhost/wp/?wsdl" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }];

并得到错误:

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x8ae1f00 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

请给我一些建议。

谢谢 !

0 投票
0 回答
911 浏览

ios - AFHTTPRequestOperationManager 给出请求失败错误

为什么我得到

错误域=AFNetworkingErrorDomain 代码=-1016“请求失败:不可接受的内容类型:文本/html” UserInfo=0x1f89e740 {NSErrorFailingURLKey= http://someurl.com/abc/func.php,AFNetworkingOperationFailingURLResponseErrorKey=,NSLocalizedDescription=请求失败:不可接受内容类型:文本/html}

0 投票
1 回答
863 浏览

ios - AFNetworking V2.0 中的多参数 POST

我正在将一些(相当旧的)ASIHTTPRequest 代码更新到 AFNetworking V2.0。

现在我正在处理一个 POST 请求,该请求上传一个带有额外参数的 NSDictionary 请求。

下面是 ASIHTTPRequest 代码的样子:

postData 是一个具有键/值的 NSDictionary - 它基于所采取的操作。例如 - 上传图片会有额外的参数。完成用户注册将有不同的参数 - 但使用与此代码相同的方法。

委托调用这段代码:

现在从我所做的挖掘量来看——我只能看到这段AfNwtworking代码——在我看来它就像来自 1.x 版

在版本 2 中AFNetworking- 有这种新的便利方法:

这是带有额外块的 POST 方法..

但是它的constructingBodyWithBlock 我遇到了问题。我不确定我需要做什么才能获取 NSDictionary 对象并将其上传到该块中。

0 投票
3 回答
2925 浏览

objective-c - iOS- AFNETWORKING 2.0 -AFHTTPRequestOperationManager - POST-MULTIPART-REQUEST

我已经构建了一个 API 客户端来与我的网络服务器进行通信,并且我的应用程序中的所有 HTTP 请求都是使用这个类完成的:(AFHTTPRequestOperationManager 的子类)

该类有 3 种 POST、GET 和 POST-MULTIPART 方法。虽然 POST 和 GET 方法可以完美运行,但我在使用 POST-MULTIPART 时遇到了问题。

具体来说,我正在尝试向服务器发送一个简单的 JSON,然后是一个图像。我试过做这样的事情:

从我的控制器我打电话:

发送此请求我在调试器中收到以下错误:

出于某种原因,即使我发送了一个 NSDictionary 并且我的请求序列化器设置为 AFJSONRequestSerializer,也不会创建 JSON 对象。同样,这只发生在 POST MULTIPART 中,使用相同客户端和设置完成的其他请求会被正确处理。

谢谢!

0 投票
0 回答
319 浏览

ios - 这个 AFNetworking 代码片段会泄漏内存,但为什么呢?

下面的代码上传了一些 JSON 数据,但像疯了一样泄漏内存,我不知道为什么。我将 AFNetworking 2.0 和 ARC 与 XCode 5.0.1 一起使用。根据 Instruments 的说法,有许多 AFRequestOperations 存在,比我预期的要多。但是ARC不应该自动释放它们吗?

0 投票
1 回答
4479 浏览

ios - 通过可可豆荚问题安装 AFNetworking

我使用 Podfile 中指出的下一个规范安装此框架AFNetworking,如 git 上的描述:

但是当我运行项目时,我遇到了这个错误:

dyld:找不到符号:_OBJC_CLASS_$_NSURLSession 引用自:/Users/mac/Library/Application Support/iPhone Simulator/6.1/Applications/BD91CA1D-5AC2-4187-9559-BD7F9F45866F/Test.app/Test 预期在:/Applications/ Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation in /Users/mac/Library/Application Support/iPhone Simulator/6.1 /应用程序/BD91CA1D-5AC2-4187-9559-BD7F9F45866F/Test.app/Test

我之前安装了 AFNetworking,但没有这样的问题。我看到编译器说NSURLSession我认为 iOS 7 支持这一点,但是在 git 上我读了下一个:

AFNetworking 2.0 正式支持 iOS 6+、Mac OS X 10.8+ 和 Xcode 5。

那么如何解决这个问题呢?

0 投票
1 回答
2289 浏览

ios - 重新启动应用程序后如何恢复下载任务(NSURLSessionDownloadTask)

我添加“下载任务”并终止应用程序进程。

运行app后,获取[manager downloadTasks];并恢复所有。但文件未加载到文档目录中。

我使用 AFNetworking 2.0 ( https://github.com/AFNetworking/AFNetworking )

完整代码 - https://github.com/nullproduction/FileDownloader

0 投票
4 回答
3742 浏览

objective-c - AFNetworking https 请求不起作用

我尝试连接到 https 服务器,但我收到错误 -1012(NSErrorFailingURLKey)。如果我尝试连接到 http,那么一切都很好。但我应该连接到 https。它可以是什么?我尝试通过 AFNetworking v1.0 和 v2.0 进行连接。我使用过 AFHTTPRequestOperation、AFHTTPRequestOperationManager、AFHTTPClient 等。PS当我尝试通过萤火虫连接到https时,一切都很好。我的意思是,服务器运行良好。