强制终止后未调用 AppDelegate 方法
Posted
技术标签:
【中文标题】强制终止后未调用 AppDelegate 方法【英文标题】:AppDelegate method not called after force terminating 【发布时间】:2018-01-30 10:08:59 【问题描述】:我试图弄清楚 AppDelegate 方法是如何工作的。
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
print("didFinishLaunchingWithOptions")
return true
func applicationWillResignActive(_ application: UIApplication)
print("willResignActive")
func applicationDidEnterBackground(_ application: UIApplication)
print("didEnterBackground")
func applicationWillEnterForeground(_ application: UIApplication)
print("willEnterForeground")
func applicationDidBecomeActive(_ application: UIApplication)
print("didbecomeActive")
func applicationWillTerminate(_ application: UIApplication)
print("willTerminate")
第一次启动应用程序时,它似乎按预期工作。 但是一旦强行终止应用程序,之后这些方法就不会被调用了。
有没有办法在强制终止应用后调用这些方法?
xcode 9.2 swift4 模拟器上的ios11.2【问题讨论】:
关闭应用程序时连接终止。这样就不会调用 app-delegate 中的方法。 【参考方案1】:至少func application(_:didFinishLaunchingWithOptions)
总是在应用启动时被调用。是什么让您认为不是?
请注意,在您强行终止正在运行的应用后,您可能拥有的调试器连接会终止,并且新启动的应用不会自动重新连接到您的调试器。
【讨论】:
因为强制终止后即使重启也不输出打印调试。但我第一次听说调试器连接。以上是关于强制终止后未调用 AppDelegate 方法的主要内容,如果未能解决你的问题,请参考以下文章
应用程序重启后未调用iOS OneSignal handleNotificationReceived回调
异步任务;调用方法 onPreExecute() 后未调用 doInbackground()
主页启动器强制停止后未收到Android AppWidget的按钮单击事件