告诉背景状态的动作扩展

时间:2015-08-22 19:54:37

标签: ios objective-c uikit ios-extensions

UIApplication具有方便的applicationState属性,可让您查看应用程序是否在后台。在操作(和共享)扩展程序中,使用UIApplication是非法的,即使您 在扩展程序中获取其实例,它也始终报告applicationState=UIApplicationStateBackground。我也试过观察UIApplicationDidEnterBackgroundNotification,它永远不会发射。

有没有办法有效地判断扩展是否在前台或后台的应用中运行?

1 个答案:

答案 0 :(得分:7)

发布iOS 8.2后,您可以观察列出的here通知。

NSExtensionHostDidBecomeActiveNotification NSExtensionHostWillResignActiveNotification NSExtensionHostDidEnterBackgroundNotification NSExtensionHostWillEnterForegroundNotification

请务必在注册这些通知之前检查您是否使用了相应版本的设备,否则您的扩展程序会崩溃,因为它们会nil