有什麼辦法可以讓應用程序退出,而不是在按下主頁按鈕時進入後臺?出於安全原因,如果應用程序沒有在後臺運行,但在推送家時實際關閉,那會更好。這是而不是用於用戶安全,而是用於應用上的公司數據,因此它不是用戶的選擇。除了強迫蘋果退出之外,我找不到任何辦法戒菸。如何防止我的應用程序在iPhone上的後臺運行
3
A
回答
8
見opting out of background execution在iPhone應用程序編程指南:
「如果你不想讓你的應用程序在後臺繼續當它退出,你可以明確地選擇退出後臺執行模型通過添加UIApplicationExitsOnSuspend關鍵應用程序的Info.plist文件,並將其值設置爲YES。
當應用程序選擇退出,非運行,非活動和活動狀態之間它的週期和永遠不會進入後臺或暫停狀態。
當用戶點擊主頁按鈕以退出應用程序時,應用程序委託的applicationWillTerminate:方法被調用,應用程序有大約五秒鐘的時間清理並退出,然後終止並移回到未運行狀態。
2
只需轉到您的項目的info.plist並選中「應用程序不在後臺運行」爲YES。
0
不幸的是,在嘗試完所有事情之後,我仍然無法看到我的應用程序正在按回車鍵退出。即使UIApplicationExitsOnSuspend爲YES並且在plist文件中爲boolean類型,它總是進入後臺,我從Simulator中移除了應用程序,重新啓動了Xcode和Simulator並嘗試了所有建議。
最後我開始調試應用程序,發現一個函數阻止應用程序退出。該功能相當簡單,並從網絡下載一些圖像,並從appDelegate文件的applicationDidFinishLaunching中調用。該功能是委託創建網絡連接和下載數據到其他一些可重複使用的類的任務,在那裏我有下面的代碼:
if(isBackgroundProcessingSupported){
appDelegate.bgTask = [app beginBackgroundTaskWithExpirationHandler:^{}];
[NSURLConnection connectionWithRequest:request delegate:self];
}
所以最後事實證明,上面的代碼是負責將應用到背景上按主頁按鈕。當我評論上述代碼時,我的應用程序正在退出而不是進入後臺。
注意:代碼早在那裏,因爲最初的應用程序支持後臺處理。
希望這可以幫助那些也在努力尋找像我這樣的理由的人。
相關問題
- 1. 如何在jailbroken iphone上的後臺運行應用程序?
- 2. iPhone:停止在後臺運行程序
- 3. iphone應用程序在後臺運行?
- 4. 如何在iphone中終止應用程序後運行後臺線程?
- 5. iPhone上的多個GPS應用程序在後臺運行?
- 6. 如何取消後臺運行線程在我的iPhone應用程序
- 7. 我如何讓我的Android應用程序在後臺運行
- 8. 如何在Android中在後臺運行我的應用程序?
- 9. 如何長時間在後臺運行iphone應用程序?
- 10. 如何在iphone中運行後臺應用程序?
- 11. 防止我的應用程序被掛起在後臺模式?
- 12. 在iPhone上查找後臺運行應用程序
- 13. 如何防止我的CountDownTimer在後臺運行?
- 14. 如何讓我的應用在iPhone的後臺運行?
- 15. 在後臺運行時響應的iPhone應用程序
- 16. 如何在後臺運行我的Windows Phone應用程序?
- 17. 如何在後臺運行我的GPS應用程序?
- 18. 我們如何在iOS7的後臺運行應用程序
- 19. 如何讓我的應用程序在後臺運行?
- 20. 如何讓我的應用程序在後臺運行
- 21. 如何關閉/停止在後臺運行應用程序android
- 22. 讓Android應用程序在後臺運行,防止它停止/死亡
- 23. 在後臺運行的應用程序
- 24. 如何防止我的應用程序
- 25. 在iPhone應用程序的後臺運行任務
- 26. 在後臺運行的AS3 iPhone應用程序
- 27. iPhone:捕捉應用程序在後臺運行時的事件
- 28. 如何防止iPhone 4/4s上安裝並運行iOS應用程序?
- 29. 如何防止Java程序在其他應用程序運行時滯後?
- 30. 如何防止我的應用程序在安裝後複製
還有UIApplicationExitsOnSuspend,但您可以簡單地清除applicationDidEnterBackground:app委託方法中的任何身份驗證信息,並在應用程序返回到前臺時強制用戶重新登錄(applicationDidBecomeActive :) – 2010-07-11 09:27:04