Swift 如何检查用户是否已退出应用程序?

Swift 如何检查用户是否已退出应用程序?,swift,cocoa-touch,Swift,Cocoa Touch,如何检查用户是否已退出应用程序,以确保应用程序将关闭 我目前正在AppDelegate类(AppDelegate.m)中使用Swift-Xcode 6.3.1,有一个名为applicationWillTerminate:(NSNotification*)notif的函数。退出应用程序后将调用此函数。这是您在退出应用程序之前必须调用的任何代码(例如关闭文件、删除计时器等)的位置。当应用程序关闭时,会自动调用此命令,您无需检查自己。在iOS中,您(通常)不会终止应用程序。你应该设计你的应用程序,这样

如何检查用户是否已退出应用程序,以确保应用程序将关闭

我目前正在AppDelegate类(
AppDelegate.m
)中使用Swift-Xcode 6.3.1

,有一个名为
applicationWillTerminate:(NSNotification*)notif的函数。退出应用程序后将调用此函数。这是您在退出应用程序之前必须调用的任何代码(例如关闭文件、删除计时器等)的位置。当应用程序关闭时,会自动调用此命令,您无需检查自己。

在iOS中,您(通常)不会终止应用程序。你应该设计你的应用程序,这样如果用户离开它(例如按下Home按钮),当他们决定回来时,它就准备好了。您还需要对其进行设计,以便在iOS终止应用程序时(例如,由于内存限制),不会丢失任何用户数据,并且在下次启动应用程序时一切正常(此处的一般指导是,用户无法判断应用程序是否已终止,但许多应用程序无法成功)。但除此之外,当用户“离开”你的应用程序时,你不需要做任何事情

有关不终止的官方行,请参阅。有关iOS中应用程序生命周期的更多详细信息,请参阅


唯一的例外是,如果发生致命错误,您可能希望终止。在Swift中,您可以使用fatalError来执行此操作,但对您的用户来说,这看起来像是一个崩溃。

当用户离开应用程序(例如按下home按钮)但尚未终止时,请参阅ApplicationIdentinterBackground。当然,假设它是一个iOS应用程序。对于OSX,您需要检测窗口何时失去焦点,但那是另一回事。@AliBeadle我如何终止应用程序!很少调用此方法@AliBeadle的思路是正确的。在大多数情况下,系统会为您处理关机问题,您不必自己执行。所以我想明确一点:你们是在谈论OSX应用程序还是iOS应用程序?你想在用户退出应用程序时收到通知,还是实现你自己的退出按钮?我使用的是iOS SwiftBy exit?你是指用户按home按钮还是向上滑动引用你的应用程序。如果你是指主页按钮按下;您的应用程序是后台的,如果需要,可能会被系统终止。当用户按下home按钮时,如果您打算进行任何清理或数据保护;在应用程序代理应用程序标识背景中的几秒钟内处理此问题: