当我调用 API 并锁定手机屏幕或最小化应用程序时,Alamofire 给我一个错误。
"The operation couldn't be completed. Software caused connection abort"
请给我这个问题的解决方案。
我认为当应用程序进入后台时,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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |