ios - Swift 不会打印来自通知委托(delegate)的有效负载

标签 ios swift xcode onesignal

我无法打印收到远程通知的委托(delegate)。我在物理设备上收到通知,但当我尝试访问有效负载时没有任何反应。我导入 import UserNotifications 我还链接了用户通知库,但这并不能帮助我不确定我在错误期间发生了什么。我使用一个信号,但这不应导致确实收到通知方法不起作用。

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    setupViewApDelegate()
    application.statusBarStyle = .lightContent

    //facebook login
    FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

    //APIkeys().oneSignal
    let onesignalInitSettings = [kOSSettingsKeyAutoPrompt: false]
    OneSignal.initWithLaunchOptions(launchOptions,
                                    appId: APIkeys().oneSignal,
                                    handleNotificationAction: nil,
                                    settings: onesignalInitSettings)

    OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification;
    OneSignal.promptForPushNotifications(userResponse: { accepted in
        print("User accepted notifications: \(accepted)")
    })


    return true
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
        print("Push notification received: \(userInfo)")
    }

最佳答案

看起来我必须检索 oneSignal 闭包内的有效负载

OneSignal.initWithLaunchOptions(launchOptions, appId: APIkeys().oneSignal, handleNotificationReceived:             { (notification) in
        let payload: OSNotificationPayload? = notification?.payload


        let fullMessage: String? = payload?.body

        print("Recived no" + fullMessage!)

        print("Received Notification - \(notification?.payload.notificationID) - \(notification?.payload.title)")

    }, handleNotificationAction: nil, settings: [kOSSettingsKeyAutoPrompt : false, kOSSettingsKeyInAppAlerts : false])
    OneSignal.promptForPushNotifications(userResponse: { accepted in
        print("User accepted notifications: \(accepted)")
    })
    OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification;

关于ios - Swift 不会打印来自通知委托(delegate)的有效负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44227478/

相关文章:

ios - IOS中消息应用的数据

ios - 尝试使用尚未从自身检索的数据后调用委托(delegate)方法 didUpdateLocations - Xcode Swift

ios - 导出视频后 CAKeyframeAnimation 没有动画

xcode - 将 PFObject 数组的值设置为 Swift 数组

ios - iPad 上的 NSLayoutConstraint SIGABRT

ios - 使用 SwiftyJSON 遍历数据

android - 点击游戏请求发送的通知时 Facebook 未发现错误

ios - 尝试添加简单约束但收到此错误消息

ios - 未调用 UIPageViewController 委托(delegate)方法

iphone - UITextField 和有趣的程序