2017-07-21 11 views
3

アプリがフォアグラウンドにあるときにプッシュ通知のバナーを表示したい。 宣言されていないタイプの「UNUserNotificationCenter」の使用

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

が、このエラーが宣言されていないタイプの使用を受けた「UNUserNotificationCenter」 enter image description here

+3

あなたは 'import UserNotifications'を追加しましたか? –

+0

インポートできません –

+0

インポートエラーが解決されましたが、通知はまだ届きません –

答えて

5

をあなたがしなければならないのはUserNotificationsフレームワークをインポートすることです:と私は通知を表示するには、このメソッドを実装する

import UserNotifications 

また、UNUserNotificationCenterDelegateに準拠していることを確認してください。良いプラクティスとして 、私はextensionとしてそれを実装することによってそれを行うことをお勧めします:

あなたは委任に慣れていない場合、あなたは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]) 
    } 
} 
+0

これはうまくいきました。 –

関連する問題