このチュートリアルを使用してfirebaseをデプロイすると、常にエラーがコンパイルされます。 https://firebase.google.com/docs/cloud-messaging/ios/client デプロイメントSDKは9.0です。
どうすれば修正できますか?
タイプ「AppDelegate」の値をタイプ「UNUserNotificationCenterDelegate?」に割り当てることはできません。
AppDelegateのコード:
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// [START register_for_notifications]
if #available(iOS 10.0, *) {
let authOptions : UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_,_ in })
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
// For iOS 10 data message (sent via FCM)
FIRMessaging.messaging().remoteMessageDelegate = self
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
// [END register_for_notifications]
FIRApp.configure()
// Add observer for InstanceID token refresh callback.
NotificationCenter.default.addObserver(self,
selector: #selector(self.tokenRefreshNotification),
name: .firInstanceIDTokenRefresh,
object: nil)
return true
}
AppDelegateの最後に、2つの拡張機能(UNUserNotificationCenterDelegate、MessagingDelegate)を追加する必要があります。
このサンプルアプリのソースコードを参照してください: https://github.com/firebase/quickstart-ios/tree/master/messaging