当用户在应用程序中锁定设备时如何处理我的应用程序[重复]

Posted

技术标签:

【中文标题】当用户在应用程序中锁定设备时如何处理我的应用程序[重复]【英文标题】:How can I handle my app when user lock device in application [duplicate] 【发布时间】:2017-05-12 21:18:17 【问题描述】:

我正在为我的应用程序使用 XMPPframework 来获取消息问题是当用户在应用程序运行时锁定设备然后再次解锁时 XMPPStream 与服务器断开连接并变得无用但当用户只需按下主页按钮时(当用户来再次到应用程序,XMPP 开始重新连接,这很好!)我搜索了网络,我发现这个方法是在设备被锁定之前调用的:

func applicationWillResignActive(_ application: UIApplication) 

    print("i am in will resign")
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.


func applicationDidEnterBackground(_ application: UIApplication) 

    print("i am in background")
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

我想在我的 viewcontroller 中实现这个方法和 didbecomeactive 方法,用户锁定设备我只是把它放在我的 vc 上但没有成功:

class ViewController: x ,UIApplicationDelegate 

func applicationWillResignActive(_ application: UIApplication) 

    print("frommmm vc i am in will resign")



我知道是因为我没有将委托委托给 vc,但我该怎么做呢?或者我还能为我的问题做些什么呢? 提前致谢

【问题讨论】:

@GrzegorzKrukowski 谢谢它帮助了我......但是还有其他解决方案吗? 为什么这是错误的? 【参考方案1】:

您不能只将UIApplicationDelegate 添加到任何视图以调用它。

在您的AppDelegate.swift 中使用协议UIApplicationDelegate 中定义的方法

PS: 如果您想深入了解您的观点,那么您必须遵循Detect ios app entering background中的建议

【讨论】:

以上是关于当用户在应用程序中锁定设备时如何处理我的应用程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

当 UI 允许新对象时如何处理取消

IOS,应用启动时如何处理多个本地通知?

JWT:当用户打开新标签时如何处理 GET 请求?

JWT:当用户打开新标签时如何处理 GET 请求?

用户关闭应用程序时如何处理用户在 Xamarin iOS 上单击本地通知?

如何处理我的 JavaScript 作业? [关闭]