检测应用何时关闭,终止,但在手机关闭时忽略

时间:2019-04-16 19:00:20

标签: ios swift xcode

我想知道何时有人关闭我的应用程序(点按主屏幕按钮)或终止我的应用程序(双击向上轻扫),但是我不希望知道用户何时使用我的应用程序,而只是关闭手机,因为他们重新打开手机后,它仍会在我的应用中显示。

我尝试使用<selenium.webdriver.remote.webelement.WebElement (session="bd86fe53729956ba1fc3b16cf841a1a8", element="0.5125252686493715-2")>applicationWillResignActiveapplicationDidEnterBackground并将其注册到我的视图控制器中

applicationWillTerminate

这些信息没有告诉我何时我的应用程序不是重点,或者他们是否确实在工作,他们还告诉我何时我的应用程序仍处于打开状态,只是手机处于关闭状态。

2 个答案:

答案 0 :(得分:3)

您不能绘制要绘制的区别。无论用户单击“主页”按钮还是关闭屏幕,都会取消激活您的应用程序并使其后台运行,并且会提示您-这就是 all

但是,您不需要 来区分这种区别。当您的应用程序处于后台时,只需执行适当的操作即可。系统会提示您何时再次显示您的应用,即使这仅仅是因为用户重新打开了屏幕。

答案 1 :(得分:0)

因此,经过一些研究,我发现的唯一可能方法是:

func DidUserPressLockButton() -> Bool 
{
    let oldBrightness = UIScreen.main.brightness
    UIScreen.main.brightness = oldBrightness + (oldBrightness <= 0.01 ? (0.01) : (-0.01))
    return oldBrightness != UIScreen.main.brightness
}


func applicationDidEnterBackground(_ application: UIApplication) 
{
    if (DidUserPressLockButton()) 
    {
        //User pressed lock button
    } 
    else 
    {
        //user pressed home button
}}

此方法通过查看应用程序是否可以更改亮度而起作用,但是有人说这将被苹果​​拒绝,因为他们不希望您这样做,这很有意义,为什么没有内置功能但是有App Store上知道您如何离开应用程序的应用程序