2011-11-28 70 views
0

我正在使用ASIHTTPREQUEST在我的應用程序中執行異步網絡連接。大多數情況下,它的效果很好。但是,如果我運行的連接,鎖定手機(但離開應用程序打開),並且解鎖它,我得到我的聯繫以下錯誤:ASIHTTPREQUEST在iPhone鎖定和解鎖時給出錯誤(1)

ErrorDomain = ASIHTTPREQUESTErrorDomain代碼= 1 「的操作無法完成。「 (ASIHTTPREQUESTErrorDomain誤差1)

我怎樣才能阻止這種情況的發生,甚至使HTTP請求繼續即使手機已鎖定,以工作或屏幕關閉?

+0

您使用異步請求嗎? –

+0

是 - 它是異步的。 – Jason

+0

您的代表是否因鎖定而被釋放?如果是這樣,那麼你需要在dealloc控制器方法中釋放請求。你可以記錄下來,看看發生了什麼。 –

回答

1

發起請求之前啓動與UIApplicationbeginBackgroundTaskWithExpirationHandler:方法的後臺任務。當請求返回成功或失敗並且您已經處理了請求中的數據時,結束後臺任務。

+0

這隻會將它創建爲後臺任務,對吧?我不希望它在默認情況下在後臺運行,只有當用戶實際上使全部進入後臺。 – Jason

+0

這就是那種方法。只要您的應用保持在前臺,它不會改變任何內容。但它確保了當你的應用程序轉到後臺時,任務有時間完成。從文檔:「你應該調用這種方法,有時任務未完成可能會損害你的應用程序的用戶體驗。」 –