Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 锁屏中断连接_Objective C_Ios_Nsurlconnection_Nsurlrequest - Fatal编程技术网

Objective c 锁屏中断连接

Objective c 锁屏中断连接,objective-c,ios,nsurlconnection,nsurlrequest,Objective C,Ios,Nsurlconnection,Nsurlrequest,我想知道当用户锁定和解锁iPad屏幕时,幕后发生了什么。我有一个应用程序使用NSURLConnection下载文件,下载失败时出现SOAP错误(“找不到具有指定主机名的服务器”),但不是在用户锁定屏幕时,而是在用户解锁屏幕时。 不管错误何时出现,下载永远不会完成。你知道为什么吗?你能做些什么 NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProto

我想知道当用户锁定和解锁iPad屏幕时,幕后发生了什么。我有一个应用程序使用NSURLConnection下载文件,下载失败时出现SOAP错误(“找不到具有指定主机名的服务器”),但不是在用户锁定屏幕时,而是在用户解锁屏幕时。 不管错误何时出现,下载永远不会完成。你知道为什么吗?你能做些什么

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:300];

NSURLConnection* conn = [[NSURLConnection alloc] initWithRequest: request delegate: self];
据我所知,当我按下主页按钮时,我得到:

applicationWillResignActive
applicationDidEnterBackground
三分钟后我回忆起应用程序后,我得到:

applicationWillEnterForeground
下载要么已经完成,要么已经在后台进行了

当我把它留在后台更长时间(5分钟)时,它会超时并出现错误

当我锁定屏幕时,我会得到相同的应用程序状态顺序,但也会收到一条关于下载断开连接的错误消息


谢谢大家!

我猜你的连接断开了,因为当应用程序进入后台时,它正在运行,而你没有正确的实现来保持它运行。也许你应该看看苹果的文档。它将向你展示如何让你的应用程序在后台运行10分钟而不被终止。查找以下示例代码并了解它如何解决您的问题:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
        // Clean up any unfinished task business by marking where you.
        // stopped or ending the task outright.
        [application endBackgroundTask:bgTask];
        bgTask = UIBackgroundTaskInvalid;
    }];

    // Start the long-running task and return immediately.
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        // Do the work associated with the task, preferably in chunks.

        [application endBackgroundTask:bgTask];
        bgTask = UIBackgroundTaskInvalid;
    });
}

我正在寻找一个优雅的解决方案来解决这个问题-最好是一个不涉及取消连接。谢谢。这看起来很有希望。为什么要马上回来?如果是这样,你将如何继续连接互联网?@yeesterbunny如何使用这种方法?我需要在我想在后台工作的应用程序部分使用此任务?