アプリがフォアグラウンドにあるときにプッシュ通知のバナーを表示したい。そして、私はこのメソッドを実装して通知を表示します:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
{
completionHandler([.alert, .badge, .sound])
}
あなたがしなければならないすべては serNotifications フレームワークをインポートすることです:
import UserNotifications
また、 NUserNotificationCenterDelegate に準拠していることを確認してください。良い方法として、extension
として実装することをお勧めします。
Delegationに慣れていない場合は、 this を確認してください。
import UIKit
// add this:
import UserNotifications
class ViewController: UIViewController {
.
.
.
// somewhere in your code:
UNUserNotificationCenter.current().delegate = delegateObject
}
// add this:
// MARK:- UserNotifications
extension ViewController: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
{
completionHandler([.alert, .badge, .sound])
}
}