2012-11-22 150 views
0

我有一個應用程序的UIApplicationExitsOnSuspend信息列表屬性設置爲TRUE。 現在我注意到一個奇怪的問題。 我啓動應用程序,讓它在我的手機上運行,​​不要碰我的手機。最終手機屏幕變暗,手機進入待機模式。當我喚醒手機時,我看到的是應用程序上顯示的最後一個屏幕的屏幕截圖。 (根據規範,這似乎是因爲蘋果文檔說,在將應用程序移動到背景的過程中,ios會拍攝應用程序的照片,並在應用程序重新啓動時將其用於轉換。如果我雙擊主頁按鈕查看正在運行的應用程序,我沒有看到該應用程序正在運行的實例。 (同樣,因爲UIApplicationExitsOnSuspend設置爲true,所以按預期工作)。UIApplicationExitsOnSuspend和屏幕刷新

我的問題是,我如何確保當手機醒來時,它會回到默認的主屏幕而不是應用程序的圖片?很明顯,該應用沒有在喚醒時運行,所以我無法從應用內部進行刷新屏幕。我可以嘗試退出時,應用程序將背景,但然後蘋果準則說,永遠不會退出編程!

任何想法?

回答

3

你誤解了發生的事情。如果您啓用UIApplicationExitsOnSuspend,這意味着您的應用將在通常應用轉到後臺時終止。如果你運行你的應用程序,然後讓手機閒置,直到屏幕變暗,你的應用程序仍然處於前景,所以它不會被終止。當設備進入待機模式時,當前的應用程序仍然是當前的應用程序。當您喚醒設備時,您不會查看應用程序的快照,而是查看正在運行的應用程序。此時雙擊主頁按鈕不會顯示您的應用程序,因爲您的應用程序是當前正在運行的應用程序。

如果您返回到主屏幕或切換到其他應用程序,您的應用程序將被終止。但它不會因爲設備進入待機模式而終止。

如果您希望應用程序在設備被喚醒時返回主屏幕,則需要將代碼放在UIApplicationDelegate applicationDidBecomeActive:方法中以重置用戶界面。

+0

非常感謝您清理那個。 –