iOS-SWIFT-远程通知以显示应用内横幅

时间:2018-06-26 19:24:22

标签: ios swift apple-push-notifications unusernotificationcenter

最近,我在使用APN的消息传递应用程序上工作。接收到远程通知后,将调用委托函数application(_:didReceiveRemoteNotification:fetchCompletionHandler),并将一些通知发布到NotificationCenter,然后观察者可以将新消息追加到我的本地消息数组中。

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    NotificationCenter.default.post(name: Notification.Name(rawValue: "com.rjt.Chao.messaging"), object: nil, userInfo: userInfo)
}

这正常工作,但是当我想通过编写以下代码来添加应用内通知横幅时:

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler([.badge, .alert, .sound])
} 

我现在可以获取应用内横幅,但是未调用application(_:didReceiveRemoteNotification:fetchCompletionHandler),并且无法将通知发布到NotificationCenter。

为什么会这样?用应用内通知横幅实现即时消息应用的最佳方法是什么?

0 个答案:

没有答案