GCD sendSynchronousRequest applicationDidEnterBackground

时间:2014-10-02 15:50:03

标签: ios grand-central-dispatch

每次我的应用加载时,都会调用一个Web服务来检查是否有可供下载的应用更新。如果有它下载它。

我使用Grand Central Dispatch在不同的线程中同步下载更新,以便在主线程上显示加载图标。我需要同步下载,因为应用程序在继续之前需要更新。

但是,如果下载需要一段时间并且屏幕进入休眠状态,则会出现问题,从而有效地调用applicationDidEnterBackground。当用户重新打开屏幕并恢复应用程序时,我收到以下错误:

EXE_BAD_INSTRUCTION (code=EXC_1386_INVOP, subcode=0x0)

最好的方法是什么?尝试暂停下载并在应用程序恢复时再次恢复或创建后台任务并继续下载?我不确定哪种方法最好。

1 个答案:

答案 0 :(得分:0)

我认为最安全的答案是,除非您的应用程序具有后台权限(音频,gps,外部设备等),是的,您应该在调用-applicationDidEnterBackground时暂停/停止任何网络下载并恢复当你的应用程序回来时。