標籤:遠程推送
從接觸ios開始,就偶爾聽說開發時要用到MVC設計模式。但是,到現在為止,也沒有正式接觸和使用到真正的MVC,感覺這一年白學了一樣,MVC正在研究中,以後有搞明白了會來進行分享的。
關於推送,本地的比較容易,網上的資料也會有很多。
關於遠端推送,就稍微有點麻煩了,有關認證的製作建議閱讀英文原版教程http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
這個應該是推送資料裡面將的最完善的了,從認證製作到自己類比後台發送遠程推送講得都很詳細。
認證的製作總共分aps_development.cer和匯出相應的p12檔案這幾種製作過程我就不重複了(這幾種認證貌似都是給後台做的,前端用不到)。
我們的項目在測試期間一直很順利,但是我必須要確保上線後能用,因為測試認證和正式發布的認證以及一些其他東西是不一樣的。測試開始,我用的是之前測試認證上的deviceTocken,然後更換了不同的p12檔案和蘋果伺服器位址。但是結果悲劇了,pad收不到推送的資訊。
後來搜到相關的問題,大概就是測試認證的deviceTocken和發布認證所擷取的deviceTocken不同,想不同了,然後在網上搜了半天(英文水平不行,官方文檔上沒有找到)最終還是讓我找到瞭解決方案
/*開發的時候一般我們都是用Xcode直接灌到裝置裡 這個時候development認證是可以推送成功的 但是production認證卻推送不了不過蘋果給我們提供了Ad Hoc測試方式 它使用的是發布認證 如果你 不知道Ad Hoc模式可以搜一下 很簡單的這裡有一個關鍵的地方 development和production得到的 Token的不一樣的 使用Ad Hoc方式裝到裝置上得到的就是production Token 所以你在用Ad Hoc方式 測試的要使用production Token如果使用Ad Hoc方式測試沒問題 這個發布也就沒問題了
*/
上面是別人的原話,我抄下來的,通過Ad Hoc方式裝上後得到的deviceTocken果然不一樣,後台發送的推送也能正常的接受,實在感謝這位大牛,又學了一招,雖然不是自己解決的,但是分享給大家還是能徹底解決這個問題的。
最後,除了百度外,stack overflow也是個好地方,有問題了可以去試著找找,另外,千萬不要忽視了蘋果官方的文檔,英文好的同學可以去蘋果官網上的視頻教學的地方逛逛https://developer.apple.com/videos。
ios開發有關遠程推送的測試版和正式發布版的區別