2011-12-12 60 views
3

我們正在開發一個應用程序,用於接收推送通知。在我們的測試設備上,當我們被提示可以發送通知時,我們單擊確定但未能存儲我們收到的令牌。 (對我們服務器的請求沒有得到正確處理,令牌也沒有存儲在我們其他任何地方)。檢索已獲得推送通知令牌

我們曾嘗試以下具有功能didRegisterForRemoteNotificationsWithDeviceToken再次觸發(無濟於事):

  • 徹底刪除應用程序,並重新安裝
  • 關閉通知我們的iPhone應用程序設置

但是,我們不能讓它再次'提示'我們,並且APN開發服務器似乎已經註冊,所以我假設這是爲什麼didRegisterForRemoteNotificationsWithDeviceToken不觸發獲得。

最後我們不能得到一個新的令牌,我不知道如何檢索已經註冊的令牌。有誰知道如何檢索已經註冊的令牌?

回答

6
  1. 如果你打電話registerForRemoteNotificationTypes:didRegisterForRemoteNotificationsWithDeviceToken:UIApplication的每一次你的應用啓動,應用程序的方法,委託方法都會被調用一次也。第一次註冊時,iOS會詢問用戶是否需要接收通知,iOS連接Apple Notification Service以註冊並獲取設備令牌。之後,registerForRemoteNotificationTypes:方法調用既不會詢問用戶也不會連接APN,iOS會立即使用已經註冊的令牌調用委託方法。

  2. 如果您希望應用程序啓動時再次詢問用戶,請調用unregisterForRemoteNotifications,然後再次調用registerForRemoteNotificationTypes:方法。

相關的一些細節信息:iOS Application Client Side Device Token Management With Apple Push Notification

0

我發現應用程序將在應用程序完全關閉並重新啓動時始終調用didRegisterForRemoteTrigger,並且這會爲您提供已註冊的令牌。我不確定爲什麼當我第一次嘗試恢復令牌時它沒有調用這個方法,但這似乎是解決方案。