2011-11-28 74 views
0

我正在使用ASIHTTPREQUEST在我的应用程序中执行异步网络连接。大多数情况下,它的效果很好。但是,如果我运行的连接,锁定手机(但离开应用程序打开),并且解锁它,我得到我的联系以下错误:ASIHTTPREQUEST在iPhone锁定和解锁时给出错误(1)

ErrorDomain = ASIHTTPREQUESTErrorDomain代码= 1 “的操作无法完成。“ (ASIHTTPREQUESTErrorDomain误差1)

我怎样才能阻止这种情况的发生,甚至使HTTP请求继续即使手机已锁定,以工作或屏幕关闭?

+0

您使用异步请求吗? –

+0

是 - 它是异步的。 – Jason

+0

您的代表是否因锁定而被释放?如果是这样,那么你需要在dealloc控制器方法中释放请求。你可以记录下来,看看发生了什么。 –

回答

1

发起请求之前启动与UIApplicationbeginBackgroundTaskWithExpirationHandler:方法的后台任务。当请求返回成功或失败并且您已经处理了请求中的数据时,结束后台任务。

+0

这只会将它创建为后台任务,对吧?我不希望它在默认情况下在后台运行,只有当用户实际上使全部进入后台。 – Jason

+0

这就是那种方法。只要您的应用保持在前台,它不会改变任何内容。但它确保了当你的应用程序转到后台时,任务有时间完成。从文档:“你应该调用这种方法,有时任务未完成可能会损害你的应用程序的用户体验。” –