告诉背景状态的动作扩展

Tim*_*sen 3 objective-c uikit ios ios-extensions

UIApplication有一个方便的applicationState属性,允许您查看您的应用程序是否在后台.在行动(和共享)的扩展,使用的UIApplication是非法的,即使你它始终报告的延伸中得到它的一个实例applicationState=UIApplicationStateBackground.我也试过观察UIApplicationDidEnterBackgroundNotification,它永远不会发射.

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

Ben*_*ous 7

发布iOS 8.2后,您可以观察此处列出的通知.

NSExtensionHostDidBecomeActiveNotification NSExtensionHostWillResignActiveNotification NSExtensionHostDidEnterBackgroundNotification NSExtensionHostWillEnterForegroundNotification

在注册这些通知之前,请务必检查您是否在相应版本的设备上,否则您的扩展程序将会崩溃nil.