gpt4 book ai didi

ios - AFNetworking 和可达性 : Why request fail after resume?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:14 32 4
gpt4 key购买 nike

我使用 AFHTTPSessionManager 向服务器发送请求,并使用可达性逻辑检查是否存在连接。

请求的代码很简单:

   [manager POST:urlString parameters:parameters  success:^(NSURLSessionDataTask *task, id responseObject) {
//Parse data...
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];

此外,在 GitHub 中有类似示例的方式检查可用性的代码:

NSOperationQueue *operationQueue = manager.operationQueue;
[manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN:
case AFNetworkReachabilityStatusReachableViaWiFi:
[operationQueue setSuspended:NO];
break;
case AFNetworkReachabilityStatusNotReachable:
default:
[operationQueue setSuspended:YES];
break;
}
}];

当状态改变(例如AFNetworkReachabilityStatusNotReachableAFNetworkReachabilityStatusReachableViaWiFi),并且请求恢复时,为什么会执行失败 block ?这是什么原因?我做错了什么吗?

最佳答案

AFURLSessionManager 中的operationQueue 仅用于委托(delegate)回调(请参阅 header 中的文档)。

我怀疑请求是在离线时执行的,但是回调被挂起并且仅在 operationQueue 恢复时触发。

但是我还没有找到上线后恢复请求的方法。

关于ios - AFNetworking 和可达性 : Why request fail after resume?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389020/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com