ios - 在 applicationWillTerminate 上调用 NSURLConnection

标签 ios iphone nsurlconnection terminate

我正在尝试通过 NSURLConnectionapplicationWillTerminate 方法上发送 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/

相关文章:

javascript - Cardova IOS 10. "Failed to load webpage with error: The URL can’ t被显示”

ios - NSURLConnection 和持久连接

ios - CFNetwork SSLHandshake 失败 iOS 9

iphone - 如何在 iOS 中显示和编辑 HTML?

ios - UIImageView 上的旋转动画

iOS 7 导航栏背景图像问题

ios - 在 iOS 应用程序中加载谷歌地图的高内存使用率

ios - 对象-c/iOS :How to use ASynchronous to get a data from URL?

ios - Swift SKPhysicsBody - 物理体节点设置为零

ios - 摇动手势不适用于 iOS