我无法打印收到远程通知的委托(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/