2

내가 그들의 문서를 다음 그러나 나는 다음 코드 줄을 추가해야 중포 기지 내 응용 프로그램에 푸시 알림을 구현하기 위해 노력하고있어이 코드를 추가하면스위프트 3에서 UNUserNotificationCenter 및 Firebase 기반의 위임을 처리하는 방법은 무엇입니까?

 if #available(iOS 10.0, *) { 
     let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] 
     UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in}) 

     UNUserNotificationCenter.current().delegate = self 
     FIRMessaging.messaging().remoteMessageDelegate = self 
    } else { 
     let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil) 
     application.registerUserNotificationSettings(settings) 
    } 

을, 응용 프로그램이 컴파일되지 않습니다 그것은 나를 내가

할당 할 수 없습니다 유형 AppDelegate의 값을 입력 할 수 있음을 알려주 나 오류가 발생합니다 FirMessagingDelegate

,

내가

UNUserNotificationCenterDelegate를 입력 형 AppDelegate에의 값을 할당 할 수 없습니다.

그래서 당연히, 나는 그러나 FIRMessagingDelegate 응용 프로그램이

형 AppDelegate에이 프로토콜 'FirMessagingDelegate'을 준수하지 않는 말을 컴파일 할 수 없습니다, 내 응용 프로그램에 FIRMessagingDelegateUNUserNotificationCenterDelegate를 추가합니다.

아이디어가 있으십니까? 다른 사람들이이 오류가 발생하는 다른 상황을 발견하지 못했으며, Google의 문서에서이 두 대표는 추가되지 않았습니다.

답변

6

당신이 올바른 궤도에, 어딘가에 applicationReceivedRemoteMessage 기능을 구현하여, AppDelegate에 클래스가 'FirMessagingDelegate'프로토콜을 준수하고있다 할 수있는 한 가지 더가 설명하는 'FirMessagingDelegate'프로토콜에 의해 필요로 AppDelegate에 클래스입니다 여기 Firebase Doc

+0

와우, 나는 그것을 발견하지 못했다고 나는 믿을 수 없다 ... 고마워! –

+0

나를 위해 일했습니다! 고마워요. Firebase 샘플 코드 [여기] (https://github.com/firebase/quickstart-ios/tree/master/messaging)에도 나와 있습니다. –

관련 문제