我正在維護客戶端的iPhone應用程序。該應用程序不會在後臺運行(應用程序不會在設置plist中的background = YES中運行)。但是,當用戶暫時中斷(例如通過電話)或應用程序存在時,用戶需要註銷。我目前在applicationWillResignActive中執行此操作。我首先想到了使用beginBackgroundTaskWithExpirationHandler,但後來發現返回值總是「UIBackgroundTaskInvalid」。我認爲這是因爲我無法在後臺運行。那麼問題是,我應該如何處理註銷?我應該使註銷同步,並希望它按時完成(我猜在10秒內?)。UIBackgroundModes,註銷臨時(或永久)退出
起初我並不知道這個beginBackgroundTaskWithExpirationHandler沒有返回有效的後臺任務標識符,並且應用程序正在註銷。除了其中一個用戶保持具有「已經超出允許的時間積極斷言」崩潰(在iPad 1)。
任何人處理這個問題呢?
applicationWillTerminate:。不會被調用的中斷(如電話),甚至當應用程序不支持背景applicationWillResignActive:不過,被調用,而這正是whe現在我正在登錄用戶。它工作正常,除了iPad 1偶爾的崩潰,讓我擔心我在做什麼。基本的問題是,當你不運行後臺模式時,你如何確保用戶註銷?應用程序完成任務需要多長時間,並且此任務是否必須在UI線程上? –