ios - 告诉 Action 扩展的后台状态

标签 ios objective-c uikit ios-extensions

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

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

最佳答案

iOS 8.2 后,您可以观察列出的通知 here .

NSExtensionHostDidBecomeActiveNotification NSExtensionHostWillResignActiveNotification NSExtensionHostDidEnterBackgroundNotification NSExtensionHostWillEnterForegroundNotification

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

关于ios - 告诉 Action 扩展的后台状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32160180/

相关文章:

iphone - iPhone 应用程序的套接字超时值

iphone - 圆形蒙版效果

iOS 推送通知证书

ios - 如何将 UISearchBar 文本字段默认占位符 "Search"更改为 "Enter city name..."

ios - UIPickerView iOS7.1 中的未定义键 NSException

swift - 使用未解析的标识符 'scene'

ios - 如何检测 iOS 中第一响应者的变化?

ios - 完成问题

ios - 在 iOS 中的特定时间唤醒应用程序

ios - 自定义 View 上的辅助功能 VoiceOver 类似于 Collection View