2015-11-16 50 views
1

應用程序具有保存和恢復狀態信息的功能。 它在相應視圖控制器類中的App委託和應用程序中使用API​​:shouldSaveApplicationState和shouldRestoreApplicationState:willEncodeRestorableStateWithCoder和application:didDecodeRestorableStateWithCoder。 因此,即使強制退出任何狀態的應用程序之後,應用程序仍會恢復狀態。 這工作正常,直到iOS 8.x.iOS9中的應用程序恢復問題

從iOS 9.x中,發現當應用程序從前臺強制退出應用程序時,恢復不起作用。 這是因爲應用程序再次啓動時不會觸發shouldRestoreApplicationState方法。

在所有其他情況下,應用程序恢復功能正常工作正常。

對我們的應用程序沒有任何代碼更改,但現在應用程序的行爲有所不同。

請幫忙,因爲這是應用程序的關鍵功能之一。

回答

1

這是設計。下面是從Apple documentation

,系統會自動在用戶 退出力的應用程序刪除應用程序的保存狀態。當應用程序被終止時刪除保存的狀態信息 是安全預防措施。 (作爲安全 預防措施,該系統也將刪除保存的狀態,如果在應用程序啓動過程中崩潰 兩次。)如果你想測試你的應用程序的能力 恢復其狀態,你不應該使用多任務欄時殺 應用調試。相反,使用Xcode殺死應用程序或通過安裝 按需呼叫退出的臨時命令或手勢,以編程方式終止應用程序 。

+0

但是,iOS 9.3中的WWDC應用程序似乎可以保存和恢復應用程序狀態,即使強制退出前臺狀態。他們是否通過使用其他專有技術來做到這一點,而不是默認的保存/恢復API? (例如'NSUserDefaults') – artificis