Ios 在应用程序上调用NSURLConnection将终止
我正试图通过Ios 在应用程序上调用NSURLConnection将终止,ios,iphone,nsurlconnection,terminate,Ios,Iphone,Nsurlconnection,Terminate,我正试图通过applicationWillTerminate方法上的NSURLRequest通过NSURLConnection发送NSURLRequest,请求在客户端被调用,但没有到达我的服务器端 - (void)applicationWillTerminate:(UIApplication *)application { [self sendRandomRequestToServer]; } 我猜这是因为终止终止了进程 我说得对吗 如果是这样,我该如何解决这个问题 谢谢 更新- 我
applicationWillTerminate
方法上的NSURLRequest
通过NSURLConnection
发送NSURLRequest,请求在客户端被调用,但没有到达我的服务器端
- (void)applicationWillTerminate:(UIApplication *)application
{
[self sendRandomRequestToServer];
}
我猜这是因为终止终止了进程
我说得对吗
如果是这样,我该如何解决这个问题
谢谢
更新-
我知道苹果给你的5秒钟,所以我做了实验-
我试图在主线程上运行无尽的而循环,它在上继续运行2分钟将终止
我还在后台线程上使用afterDelay
0.1和willTerminate上的dispatchAfter
0.1调用了一个方法,但这两个方法都没有被调用
因此,我不相信“5秒”规则您不应该在后台从应用程序willterminate运行代码
- 清除主线程后,即使后台线程仍在工作,进程也会退出
applicationWillTerminate
是在主线程上执行的最后一个代码块。这意味着(时间,主线程)
之后的dispatch\u将不会被调用
您不应该在后台运行应用程序将终止的代码
- 清除主线程后,即使后台线程仍在工作,进程也会退出
applicationWillTerminate
是在主线程上执行的最后一个代码块。这意味着(时间,主线程)
之后的dispatch\u将不会被调用
谢谢,但这不是我的答案。我已经更新了我的答案。谢谢,但这不是我的答案。我已经更新了我的答案。你是否检查了applicationWillTerminate
是否实际被调用?是的,我检查了,NSLog in applicationWillTerminate完成了它的工作。只有当你将UIApplicationExitsOnSuspend设置为true时,五秒钟规则才适用,这会导致当用户切换离开你的应用时立即终止。通常,只有当系统急需资源时,应用程序才会终止,因此您不想在此时阻止执行任何类型的工作。当应用程序移到后台时发出请求。是否检查是否实际调用了applicationWillTerminate
?是的,NSLog in applicationWillTerminate完成了它的工作。只有将UIApplicationExitsOnSuspend设置为true时,五秒钟规则才适用,这会导致当用户离开应用程序时,应用程序立即终止。通常,只有当系统急需资源时,应用程序才会终止,因此您不想在此时阻止执行任何类型的工作。当应用程序移到后台时发出请求。