OGeek|极客世界-中国程序员成长平台

标题: ios - Alamofire 错误 : Operation couldn't be completed. 软件导致连接中止 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:06
标题: ios - Alamofire 错误 : Operation couldn't be completed. 软件导致连接中止

当我调用 API 并锁定手机屏幕或最小化应用程序时,Alamofire 给我一个错误。

"The operation couldn't be completed. Software caused connection abort"

enter image description here

请给我这个问题的解决方案。



Best Answer-推荐答案


我认为当应用程序进入后台时,iOS 12 会在最后一个请求返回结果之前关闭连接。您可以使用以下代码来解决您的问题:

if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
    [self sendBackgroundDataToServer];

}

- (void) sendBackgroundDataToServer {
         UIBackgroundTaskIdentifier bgTask = UIBackgroundTaskInvalid;
         bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
             [[UIApplication sharedApplication] endBackgroundTask:bgTask];
         }];

         NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:2];
        [dictionary setObject:[NSNumber numberWithDouble:lc.coordinate.latitude] forKey"floLatitude"];
        [dictionary setObject:[NSNumber numberWithDouble:lc.coordinate.longitude] forKey"floLongitude"];
        // send to server with a synchronous request


       // AFTER ALL THE UPDATES, close the task
       if (bgTask != UIBackgroundTaskInvalid) {
           [[UIApplication sharedApplication] endBackgroundTask:bgTask];
       }
}

关于ios - Alamofire 错误 : Operation couldn't be completed. 软件导致连接中止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54902181/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4