Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
应用程序终止时的Swift IOS启动通知_Ios_Swift_Termination - Fatal编程技术网

应用程序终止时的Swift IOS启动通知

应用程序终止时的Swift IOS启动通知,ios,swift,termination,Ios,Swift,Termination,我想在我的应用程序终止时发送通知。当应用程序被终止时,是否可以使用后台进程发送消息?我用的是斯威夫特 谢谢, Rob.您可以在AppDelegate中使用此功能 func applicationWillTerminate(_ application: UIApplication) { bgTask = application.beginBackgroundTask(withName:"appWillEnd", expirationHandler: {() -> Void i

我想在我的应用程序终止时发送通知。当应用程序被终止时,是否可以使用后台进程发送消息?我用的是斯威夫特

谢谢,
Rob.

您可以在AppDelegate中使用此功能

func applicationWillTerminate(_ application: UIApplication) {
        bgTask = application.beginBackgroundTask(withName:"appWillEnd", expirationHandler: {() -> Void in
            // Do something to stop our background task or the app will be killed

        })

        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }

我希望您可以使用它

否。如果您的应用程序是后台的,它将被挂起。它没有运行。如果它现在被终止,它不会恢复到运行状态并发送某种消息。它只是在睡梦中静静地死去

你可以合理地期望的最好方法是让操作系统告诉你用户何时离开应用程序。例如,您可以实现或(或者如果使用iOS 13场景代理,则实现或)


有关更多信息,请参阅或。

这是非常不可靠的。我认为你可以检测到应用程序何时即将终止,但实际上没有时间在这个时间范围内做任何事情。你想做什么?你说了什么?我知道它一点也不可靠,但它是用来迅速采取行动的。@George_E这种快速在这里是不相关的。如果应用程序被挂起,它将不会被激活只是为了终止它。后台应用程序大部分时间都处于暂停状态。强制退出将显式不执行applicationWillTerminate。在某个时间点不结束后台任务时,不要开始后台任务。如果你不这么做,操作系统不仅会暂停你的应用程序,还会随意终止它。这个函数很少被调用。当操作系统(而非用户)决定终止应用程序(例如内存不足)时,您必须处于后台(但不是挂起)状态。这确实发生了,但这是一种非常不寻常的情况。强制退出将不会运行此方法,并且在大多数内存不足的情况下,您已经处于挂起状态。