UIApplication
具有方便的 applicationState
属性,可让您查看您的应用程序是否在后台。在操作(和共享)扩展中,UIApplication
的使用是非法的,即使您确实在扩展中获取它的实例,它也总是报告applicationState=UIApplicationStateBackground
。我还尝试观察 UIApplicationDidEnterBackgroundNotification
,它永远不会触发。
有没有办法有效判断扩展程序是在前台还是后台运行的应用程序中运行?
最佳答案
iOS 8.2 后,您可以观察列出的通知 here .
NSExtensionHostDidBecomeActiveNotification
NSExtensionHostWillResignActiveNotification
NSExtensionHostDidEnterBackgroundNotification
NSExtensionHostWillEnterForegroundNotification
在注册这些通知之前,请务必检查您是否使用了适当版本的设备,否则您的扩展程序将崩溃,因为它们将是nil
。
关于ios - 告诉 Action 扩展的后台状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32160180/