2012-03-06 70 views
0

我創建了一個應用程序,它使用遠程通知服務, 並且還準備了一個web服務來收集devicetoken和一些設備數據。 完美無缺地工作,沒有問題。IOS:爲什麼devicetoken沒有創建,當用戶不允許遠程通知

但是,我意識到一些奇怪的東西。 (當考慮遠程通知服務的工作原理時,可能並不奇怪)

當用戶在設備上首次安裝應用程序 並且在第一次運行期間,會出現警告對話框,並要求用戶接受遠程通知。

我認爲,如果用戶不允許遠程通知,則不會創建devicetoken,因此,didregisterforremotenotificationwithdevicetoken方法在此之後不會被調用。

但是,如果用戶在第一次運行應用程序期間允許通知,則會創建devicetoken。 和didregisterforremotenotificationwithdevicetoken用戶運行應用程序時的方法調用, 甚至用戶稍後在通知中心關閉所有遠程通知。

因此,在第一種情形下,如果 用戶不允許遠程通知,在開始時, 我怎麼能叫didregisterforremotenotificationwithdevicetoken無devicetoken?

回答

0

如果用戶不允許,你永遠不會得到設備令牌(這就是爲什麼用戶被問到的原因)。你也不能發送通知..
相反,你可以反應application:didFailToRegisterForRemoteNotificationsWithError:

另外要注意的是,設備令牌隨時可能再生時間。

您可以在https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2

+0

閱讀更多關於它,但是,我認爲「didFailToRegisterForRemoteNotificationsWithError」將無法正常工作時,如果用戶不允許遠程通知。 – ytur 2012-03-06 11:27:40

相關問題