1

我試圖調試爲什麼我無法從iPhone上的Firebase獲取消息, 我連接到FCM服務器,並且我也訂閱了一個主題,但是,當我嘗試打印從FCM收到的數據我得到零值。使用Swift 3調試Firebase

這是我從谷歌的教程中獲得的代碼,它被執行了,這意味着應用程序正在被正確地通知FCM上有新的主題?

另外我怎樣才能調試,看看有什麼我做錯了設置FCM?

感謝

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { 
    let userInfo = notification.request.content.userInfo 
    // Print message ID. 

    FIRMessaging.messaging().subscribe(toTopic: "/topics/newNotificationtest") 
    print("Message ID: \(userInfo["gcm.message_id"])") 


    debugPrint(userInfo) 
    // Print full message. 
    print("%@", userInfo) 

} 
+1

你有沒有試過[火力地堡消息的斯威夫特(https://github.com/firebase/quickstart-樣本IOS /樹/主/短信)? – noogui

+0

當我創建一個新的應用程序並建立了自己的Firebase項目時,我能夠實現它。我收到其他人負責的Firebase項目的通知。 據我所知,一切都是正確的,我被給了GoogleService-Info.plist。 Th Bundle_ID匹配,我給了他們.p8授權密鑰。 我仍然在didReceiveRemoteNotification方法中獲得消息ID:nil,除此之外,我似乎已連接並獲取Firebase標記。 還有什麼想法? – rubyist

+0

在附註上,我收到一條通知。這是我爲後臺抓取創建的一個,但不再使用。我沒有撥打任何電話或設置通知,但它仍然彈出。難道這些會以某種方式與任何想法有關嗎?即使設置它的代碼沒有被調用,爲什麼我會彈出通知? – rubyist

回答

1

請嘗試使用此代碼,調試

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject],fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) { 


     FIRMessaging.messaging().appDidReceiveMessage(userInfo) 


     let aps = userInfo["aps"] as? NSDictionary 

     print(aps) 

     print(userInfo) 

     print("Message ID: \(userInfo["gcm.message_id"]!)") 

     print("%@", userInfo) 
    } 
+0

感謝您的建議,該方法不會被調用。任何想法爲什麼這可能是? – rubyist