我們完全被困住了,請幫忙。蘋果推送通知不生產
我和我的團隊做了一個iPhone應用程序,這是我們第一次在iOS上嘗試。
一切都很好,直到我們提交我們的應用程序,併成爲應用程序商店可用 - 推送通知服務不起作用。我搜索了網絡,並試圖通過人們的建議仔細檢查我們的應用程序,但我找不到錯在哪裏。所以這個問題在這裏發佈。
這是我們所做的事情:
我們構建應用程序,假設它的命名 「AppMaster」。
我們在iOS Provisioning Portal上創建了名爲「pushtest」的AppId。此ID在開發和生產上啓用了推送通知。
我們從上面的appId創建了名爲「AppMasterPushTest」的開發配置。此配置供內部測試,團隊中的每個人都將其安裝在他們的Mac上。
我們的服務器是由Java實現的,我們使用了java-apn包。在測試過程中,我們下載了用於開發的認證文件並寫出了.p12文件,並通過使用該包的api - 帶有該.p12文件的withSandboxDestination()將我們的消息推送到「沙箱」服務器。測試進行得很順利,收到通知。
我認爲我們已經做好準備了,所以我們創建了另一個名爲「AppMaster」的AppId,並且只爲生產啓用了推送通知。此ID用應用程序的包標識符編寫。
我們在步驟5中從AppId製作了名爲「appMaster」的另一個配置文件,分配方法設置爲「App Store」。下載它並重建應用程序。這一個被提交給蘋果公司,並在應用程序上運行。
服務器端,我們下載了生產認證並再次寫出.p12文件。並使程序通過使用api-withProductionDestination()將消息推送到生產服務器,並將.p12寫出。
我們從App Store安裝了應用程序。可悲的是,通知從未交付。
有什麼我們錯過了?順便說一句,我們在步驟5中創建的id看起來像「XXX.com.company.appname」,但在應用程序的捆綁標識符中,我們只設置了「com.company.appname」部分而沒有前綴。這可能是問題嗎?
歡迎任何想法。
請成爲我們的保護者。謝謝。
你自己說過。推送應用程序ID和實際的包ID應該是相同的。您的證書也可能存在問題。確保您的主要分發證書和推送證書使用相同的SSH RSA密鑰對進行簽名。 – 2013-03-24 06:16:07
您可以嘗試從.p12創建一個pem文件,然後嘗試通過PHP發送推送。這裏是鏈接 - http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12 – 2013-03-24 19:15:02
謝謝你們。關於應用ID,我認爲Eran是對的。而我們的服務器是純java的,添加一個php工具將會是太多工作。 – 2013-03-25 07:58:35