2012-06-01 56 views
4

嗨我剛剛發佈了我的應用程序更新與推送通知添加到它。我擔心它不能正常工作,所以我做了一堆測試。首先用開發證書,然後用adhoc生產證書。兩人都結束了工作,我很高興,當adhoc工作。當用戶加載應用程序時推送通知不詢問權限

無論如何,更新已經生活了大約8個小時現在,並由於某種原因推不工作。我檢查了我的朋友,並意識到用戶沒有被問到他是否想接受來自我的應用程序的推送通知。這意味着當令牌被髮送到我的服務器時,其顯示爲(null)。我不知道爲什麼會發生這種情況。當他進入設備設置 - >通知--->我的應用程序不會出現在任何列表中(接收推送通知或不接收)。

這是我代表的代碼應該觸發請求:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 

如果有人知道爲什麼會這樣,輸入將不勝感激。謝謝!

回答

8

爲應用程序配置推送通知並生成SSL證書之後,還必須生成新的置備配置文件。

開發者門戶網站顯示此消息在App ID配置頁面上:

產生你的客戶端SSL證書後,請爲您希望使用的通知的應用程序ID的新供應的配置文件。

如果您在設置推送後沒有更新App Store配置文件,操作系統將不會爲您提供推送令牌。

如果這是您的問題,您只需生成一個新的App Store發佈配置文件並提交使用該配置文件簽名的重新編譯的版本。

+0

感謝您的回覆Heiberg。我使用了我一直使用這整個時間進行更新的那個(所以舊的),但是在該配置文件中使用的App ID被設置爲生產推送。我想這不重要呢?謝謝 –

+0

那就是你的問題。你需要生成一個新的。操作系統會查看你的應用程序,並說「這個應用程序的供應配置文件沒有啓用推送通知......我們將返回一個空令牌給他」。 – Heiberg

+0

非常感謝你......這樣一個愚蠢的錯誤,應該引起更多的關注。將接受 –

11

我們認爲我們遇到了同樣的問題,但發現該應用實際上工作正常。即使用戶卸載並重新安裝應用程序,用戶也只會被提示一次。

我們通過卸載應用程序然後重新安裝來測試它。 iOS會記住我們以前在該設備上做出的反應,並且不會再次提示我們認爲存在問題。

我們發現最好的測試方法是使用模擬器並執行「重置內容和設置」。

+1

這是一個很好的觀點,正是我所看到的。顯然,您可以通過將應用程序卸載爲「一天」來重置通知對話框。 – David

相關問題