在applicationWillTerminate上调用NSURLConnection

时间:2016-06-22 16:53:38

标签: ios iphone nsurlconnection terminate

我正在尝试通过NSURLRequest NSURLConnection方法发送applicationWillTerminate,请求在客户端调用,但不会到达我的服务器端。

- (void)applicationWillTerminate:(UIApplication *)application
{
    [self sendRandomRequestToServer];
}

我猜是因为终止会终止进程

我是对的吗?

如果是这样,我该如何解决这个问题?

谢谢!

更新 -

我知道苹果给你的5秒钟,所以我已经进行了实验 -

我尝试在主线程上运行无限while循环,并继续在willTerminate上运行2分钟!!

我还在afterDelay上使用dispatchAfter 0.1和willTerminate 0.1在后台线程上调用了一个方法 - 并且两者都没有被调用!

所以我不相信“5秒”规则

1 个答案:

答案 0 :(得分:2)

您不应在applicationWillTerminate的后台运行代码。

  • 清除主线程后,即使后台线程仍在工作,该进程也会退出。

  • applicationWillTerminate是在主线程上执行的最后一个代码块。这意味着不会调用dispatch_after(time, mainThread)