我正在尝试通过 NSURLConnection
在 applicationWillTerminate
方法上发送 NSURLRequest
,请求在客户端被调用,但它没有到达我的服务器端。
- (void)applicationWillTerminate:(UIApplication *)application
{
[self sendRandomRequestToServer];
}
我猜是因为终止终止了进程
我说的对吗?
如果是这样,我该如何解决?
谢谢!
更新 -
我知道苹果给你的 5 秒,所以我已经试验过了 -
我试图在主线程上运行无限的 while
循环,它在 willTerminate
上继续运行 2 分钟!!
我还在 willTerminate
上使用 afterDelay
0.1 和 dispatchAfter
0.1 在后台线程上调用了一个方法 - 但都没有被调用!
所以我不相信“5秒”规则
最佳答案
您不应在后台从 applicationWillTerminate
运行代码。
一旦主线程被清除,即使后台线程仍在工作,进程也会退出。
applicationWillTerminate
是在主线程上执行的最后一个代码块。这意味着dispatch_after(time, mainThread)
将不会被调用。
关于ios - 在 applicationWillTerminate 上调用 NSURLConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37974132/