簡體   English   中英

iOS模擬器:應用程序無法正確終止

[英]iOS Simulator: Application can't terminate correcly

我有一個應用程序,當終止時需要同步sqlite數據庫的內容。
要知道應用程序何時終止,我在應用程序委托的applicationWillTerminate:method中放置了一個斷點。但調試器從不在那里執行。
我知道兩種終止應用程序的方法:

  1. 就像我在iPhone中一樣:繼續觸摸應用程序圖標,直到它開始發抖,我點擊“x”;
  2. 停止調試器。

這兩種方法都不會導致調試器進入我的應用程序委托的applicationWillTerminate:方法。
如果我使用第一種方法,我甚至會得到一個例外:我在這行中收到了SIGKILL:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

似乎模擬器即使沒有該信號的處理程序也會啟動SIGKILL。
最后一條消息是mach_msg_trap。

從文檔中

對於不支持后台執行或鏈接到iOS 3.x或更早版本的應用程序,當用戶退出應用程序時,始終會調用此方法。 對於支持后台執行的應用程序,當用戶退出應用程序時通常不會調用此方法,因為在這種情況下應用程序只是移動到后台。 但是,可以在應用程序在后台運行(未掛起)並且系統由於某種原因需要終止它的情況下調用此方法。

你可能想要applicationWillResignActive: .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM