Obj-C applicationWillResignActive - 区分事件

时间:2014-06-13 13:59:26

标签: ios objective-c appdelegate

有没有办法检测触发的事件类型 Objective-C中的-(void)applicationWillResignActive

现在,为所有类型的事件调用该方法,包括:

来电,显示通知或控制中心,关闭应用。

我需要区分关闭应用程序和显示通知或控制中心,因此应用程序仅在显示通知或控制中心时才执行某些逻辑,因为应用程序仍将在后台保持可见。

当应用关闭或打开其他应用时,我需要清除缓存,Cookie并断开与API的连接,因为应用会显示敏感信息。

2 个答案:

答案 0 :(得分:3)

我刚刚发布了一个小UIWindow子类,它正是这样做的。您只需订阅NSNotification并可以对打开控制中心的用户做出反应。 Github上的详细说明和设置:AAWindow

控制中心的检测实际上非常简单。请看一下AAWindow.swift。这可以轻松地为Notification Center重新创建,但前提是您的应用程序处于“全屏”模式(无UIStatusbar)。

答案 1 :(得分:2)

当您关闭应用程序时,除了applicationWillResignActive

之外,还会调用方法applicationDidEnterBackground