即使应用程序没有在后台运行,如何让iOS应用程序执行一些代码?

时间:2017-02-15 05:46:09

标签: ios swift nsnotificationcenter background-fetch

在Android上,即使应用程序未在后台运行,服务也可让我们灵活地继续运行代码,因为即使启动服务的应用程序终止,服务也会继续执行。

我希望在iOS上做同样的事情。我知道backgroundFetch但它仅在应用程序处于后台时才有效。

1 个答案:

答案 0 :(得分:1)

在iOS中终止应用时,您无法运行任何代码,如documentation中所述。

您可以通过以下方式在应用程序终止之前执行某些操作。

func applicationWillTerminate(_ application: UIApplication) {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

}

或在app中的任何位置注册通知

NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationWillTerminate, object: nil, queue: OperationQueue.main) { (notification) in

}