ios - 如果应用程序未在 Swift iOS 中运行,如何读取一个信号通知

标签 ios swift apple-push-notifications onesignal

实际上我需要阅读那些通知而不是点击通知横幅。

我用过这段代码

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {}

但是只有当应用程序处于前台或用户点击通知横幅时才会调用此函数。 我需要一堆代码来读取后台代码。 我正在使用 OneSignal 推送通知服务。

最佳答案

您可以在通知横幅显示之前获得通知响应。无需点击通知横幅。

 @available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {

    completionHandler([.sound, .alert, .badge])

    UIApplication.shared.applicationIconBadgeNumber = 0

    alertRemoteNotification(notification.request.content.userInfo as NSDictionary
}

关于ios - 如果应用程序未在 Swift iOS 中运行,如何读取一个信号通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50761976/

相关文章:

ios - iOS7中已经实现了滚动手势如何实现页面切换?

objective-c - 删除后尝试保存时核心数据崩溃

ios - TapGestureRecognizer 仅在 View 调整大小后位于 View 的一部分?

ios - 长按手势后 Mapbox 在 map 上找到注释

ios - 如何在快速启动时加载详细 View Controller (从 Split View)?

ios - Firebase 消息传递。 iOS 应用程序在后台模式或关闭时未收到通知

ios - 检查字符串是否包含 Swift 中的特殊字符

ios - firebase pod 安装的版本少于现有的最新版本

ios - 如何注册用户的 ios 设备以从 AppDelegate 以外的地方接收推送消息?

iphone - 解析要发送的数据的 APNS 提供程序