OC中AFNetworing设置超时时间,但实际运行超时时间与设置参数不符

运行环境为Xcode7.0,iOS9.0,AFNetworking~> 2.5.0,为了用户在网速慢情况下上次照片等待45秒后提示用户上次超时.
与超时时间设置有关的代码为:
// 设置超时时间
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 45.f;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
实际运行时,如果我设置超时为5s,实际会在13秒左右报超时错误,设置45s,1分多钟也不见超时.而且AFNetworking默认超时为60s,但在不更改其超时时间的情况下,也是1分多钟才超时甚至一直不超时就在那上传图片.
各位哥哥姐姐,婶婶叔叔求爱护 > <

附上整个网络请求的代码:
我们对AFNetworking进行了二次封装
/**

  • 用户上传修改自己的Banner
  • @param userID 用户ID
  • @param banner banner
  • @param success 成功block
  • @param failed 失败block
    */

    • (void)userPostBannerWithUserID:(NSString *)userID withBanner:(NSData *)data success:(Success)success failed:(Failure)failure { NSString *url = [NSString stringWithFormat:@"%@%@",kBaseURL,@"/account/user/banner"]; NSDictionary *parms = @{@"banner":data,@"user_id":userID}; [CRHttpTool httpToolRequestWithBaseURL:url params:parms success:^(id json) { success(json); } failure:^(NSError *error) { failure(error); MyLog(@"%@",error.description);

    } method:@"POST"];
    }

#pragma mark --- 私有方法
/**

  • 像服务器发送请求,不带请求头
  • @param urlString 请求完整url路径
  • @param params 请求参数
  • @param success 成功block
  • @param failed 失败block
  • @param method 请求方法(POST,GET)
    */

    • (void)httpToolRequestWithBaseURL:(NSString *)urlString params:(NSDictionary *)params success:(Success)success failure:(Failure)failure method:(NSString *)method { AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; AFHTTPRequestOperation * operation =nil;

    // 设置超时时间
    [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
    manager.requestSerializer.timeoutInterval = 45.f;
    [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
    manager.requestSerializer.cachePolicy = NSURLRequestReturnCacheDataElseLoad;

    //GET请求
    NSComparisonResult comparison1 = [method caseInsensitiveCompare:@"GET"];
    if (comparison1 == NSOrderedSame) {
    operation =[manager GET:urlString
    parameters:params
    success:^(AFHTTPRequestOperation *operation,id responseObject) {
    success(responseObject);
    }failure:^(AFHTTPRequestOperation *operation,NSError *error) {
    failure(error);
    }];
    }
    //POST请求
    NSComparisonResult comparison2 = [method caseInsensitiveCompare:@"POST"];
    if (comparison2 == NSOrderedSame) {

    BOOL isFile = NO;
    for (NSString *key in params.allKeys) {
        id value = params[key];
        if ([value isKindOfClass:[NSData class]]) {
            isFile = YES;
            break;
        }
    }
    
    //不包含文件数据
    if(!isFile){
        operation = [manager POST:urlString parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
            success(responseObject);
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            failure(error);
        }];
    }else{
    
        operation = [manager POST:urlString parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
            for (NSString *key in params) {
                id value = params[key];
                if ([value isKindOfClass:[NSData class]]) {
                    NSString *keySuffix = [NSString stringWithFormat:@"%@.jpg",key];
                    [formData appendPartWithFileData:value name:key fileName:keySuffix mimeType:@"image/jpeg"];
                }
            }
        } success:^(AFHTTPRequestOperation *operation, id responseObject) {
            success(responseObject);
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            failure(error);
        }];
    }
    

    }
    operation.responseSerializer = ({
    AFJSONResponseSerializer *ret = [AFJSONResponseSerializer serializer];
    ret.removesKeysWithNullValues = YES;
    ret;
    });
    }

顶顶.有人遇到过类似情况,然后解决的嘛?

我现在也遇到这个问题了