标签: afhttpclient

在AFHTTPRequestOperationManager和AFHTTPSessionManager之间进行选择时的建议

由于AFNetworking 2.0AFHTTPClient已经消失的青睐两位经理的:AFHTTPRequestOperationManagerAFHTTPSessionManager.迁移指南几乎没有说明每种情况下最好使用的情况.据我所知,与RESTful的基本交互JSON API可以分别使用它们中的每一个来实现.

什么是最合适的情况使用RequestOperationManagerSessionManager

objective-c afhttpclient afhttprequestoperation afnetworking-2

15
推荐指数
1
解决办法
4213
查看次数

AFNetworking:使用IP地址,应用程序无法访问服务器

当我尝试使用ip地址而不是主机名来告诉模拟器中的ios应用程序与本地服务器通信时,应用程序挂起在加载屏幕上,等待来自服务器的响应从未到来.

我是Objective C的新手,但代码是使用处理请求的AFNetowrking框架,并且对AFHTTPClient对象上的ip地址设置了不同的SCNetworkReachabilityFlags属性.

在调试期间捕获了AFHTTPClient对象的ip地址和主机名的以下属性.

<SCNetworkReachability 0xd26d8a0 [0x53b9ec8]>
{address = 127.0.0.1, flags = 0x00010002, if_index = 1}

<SCNetworkReachability 0xcf283f0 [0x53b9ec8]>
{name = localhost (server query active), flags = 0x80000000, if_index = 0}
Run Code Online (Sandbox Code Playgroud)

在AFHTTPClient.m类的startMonitoringNetworkReachability方法中,有以下if语句为ip地址触发但我不知道是否是问题:

/* Network reachability monitoring does not establish a baseline for IP addresses as
it does for hostnames, so if the base URL host is an IP address, the initial 
reachability callback is manually triggered.
 */
if (AFURLHostIsIPAddress(self.baseURL)) {
    SCNetworkReachabilityFlags flags;
    SCNetworkReachabilityGetFlags(self.networkReachability, &flags);
    dispatch_async(dispatch_get_main_queue(), ^{
        AFNetworkReachabilityStatus status = AFNetworkReachabilityStatusForFlags(flags); …
Run Code Online (Sandbox Code Playgroud)

objective-c reachability ios afnetworking afhttpclient

6
推荐指数
1
解决办法
1507
查看次数

替代AFNetworking 2.0中的enqueueHTTPRequestOperation

我们需要在我们的应用程序中同时下载文件.

在早期版本的AFNetworking中,我们使用以下代码同时下载了2个文件:

(AFHTTPClient)
[_httpClient.operationQueue setMaxConcurrentOperationCount:MAX_CONCURRENT_OPERATIONS];
[self.httpClient enqueueHTTPRequestOperation:downloadObj.downloadOperation];  
Run Code Online (Sandbox Code Playgroud)

现在我们要将AFNetworking升级到2.0.

而不是AFHTTPClient我们正在使用AFHTTPRequestOperationManager和能够设置

  setMaxConcurrentOperationCount: value 
Run Code Online (Sandbox Code Playgroud)

但是我们手动启动下载过程.我正在寻找替代(enqueueHTTPRequestOperation in 2.0),以便自动下载.

objective-c ios afhttpclient afnetworking-2

5
推荐指数
1
解决办法
2497
查看次数

使用签名 URL 从 iOS 发布到 S3 超时

我的服务器正在生成签名上传到 S3 的信息。当我将该信息传递到 iOS 时,它适用于小文件。有时它也适用于较大的,但经常会超时。我目前正在通过 WIFI 在 iOS 7 上进行测试。对于大约 35 MB 的文件,它通常会在大约 60% 后超时,但有时它会完成,有时会更快超时。

我的服务器生成以下信息,我将其作为表单部分传递给我的 POST。(我也尝试过将其作为参数,结果类似):

  • AWS访问密钥ID
  • 内容类型
  • acl(设置为私有)
  • 钥匙
  • 政策
  • 签名
  • 成功_操作_重定向

以及一个 URL。

这是我生成上传的代码:

AFHTTPRequestOperation *op = [manager POST:url
                                parameters:nil
                 constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
          {
              if( throttle )
                  [formData throttleBandwidthWithPacketSize:kAFUploadStream3GSuggestedPacketSize delay:kAFUploadStream3GSuggestedDelay];
              for( id key in parameters ) {
                  NSString *val = parameters[key];                      
                  [formData appendPartWithFormData:[val dataUsingEncoding:NSUTF8StringEncoding] name:key];
              }
              NSError *error;
              if( ![formData appendPartWithFileURL:videoUrl name:@"file" fileName:@"movie.mov" mimeType:@"video/quicktime" error:&error] ) {
                  // handle the error
              }

          } success:^(AFHTTPRequestOperation *operation, id responseObject) …
Run Code Online (Sandbox Code Playgroud)

post amazon-s3 ios afhttpclient afhttprequestoperation

5
推荐指数
1
解决办法
2785
查看次数