如何解决如何检测主应用程序是否在 NotificationServiceExtension 中的前台?
我的应用允许 APNS 通知进入,无论应用是后台还是前台,例如:
func userNotificationCenter(_ center: UserNotificationCenterProtocol,willPresent notification: NotificationProtocol,withCompletionHandler completionHandler: @escaping (UNNotificationPresentationoptions) -> Void) {
completionHandler([.alert,.badge,.sound])
}
但是,在扩展程序本身中,我似乎无法确定应用程序当前是前台还是后台。尝试使用 UIApplication.shared 导致错误:
let application = UIApplication.shared
错误:
'shared' 在 iOS 的应用程序扩展中不可用:在适当的情况下改用基于视图控制器的解决方案。
是否有另一种方法可以确定通知服务扩展中的应用当前状态?我看到有一些特定于扩展的生命周期方法,例如 NSExtensionHostwillEnterForeground,但我不知道如何订阅那些通知(the documentation 是稀疏的)。
解决方法
据我所知,目前这是不可能的。
我的猜测是 Apple 希望这些扩展程序依赖于主应用程序的状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。