2012-04-13 59 views
4

我在我的應用程序中實現了APNS,並且它在開發過程中起作用。提交到App Store後,彈出窗口不顯示,用於請求用戶選擇是否接收APNS。任何人都可以提出任何想法蘋果推送通知服務提交後不工作,但在沙箱中都很好

+1

您是否對應用商店版本使用了正確的推送證書? – CarlJ 2012-04-13 08:51:08

+0

在將應用推送到應用商店後,您是否對證書進行了更改? – rishi 2012-04-13 08:53:57

+0

提交後沒有更改證書,並提交正確的證書以通過提交期間的驗證。 – DragonDoingPragramming 2012-04-15 02:51:41

回答

12

我會先檢查您提交的二進制不得不推入權益啓用的通知APNS登記錯誤。在iTunes Connect查看詳細信息對於應用的二進制文件:

enter image description here

您應該看到「生產」作爲其價值aps-environment關鍵。

enter image description here

您也可以運行在終端中輸入以下命令來獲取本地計算機上從.app文件中的信息:

codesign -d --entitlements - MyApp.app 

如果aps-environment鍵設置爲「生產」 ,您的應用程序在代碼方面可能沒有任何問題。它在沙箱環境中工作,所以它應該在生產環境中工作(因爲兩者的代碼都是相同的)。這假設你的發佈版本與你的調試版本運行相同的代碼。

在你的代碼中,你應該處理application:didFailToRegisterForRemoteNotificationsWithError:方法和NSLogging的任何錯誤。這會讓您看到設備控制檯中的錯誤。

由於您的應用沒有提示啓用推送通知,因此它在我看來就像缺少授權。或者以某種方式在設備上禁用推送通知。

您還應該檢查您的服務器(提供商)是否將通知發送到生產環境(gateway.push.apple.com),而不是沙箱環境(gateway.sandbox.push.apple.com)。雖然如果這是問題,應用程序仍然會提示用戶允許推送通知。

+0

Thx Mike的非常詳細的答案。我會嘗試你的建議,並回到這裏。真正appriciate! – DragonDoingPragramming 2012-04-13 17:06:49

+0

我檢查了iTunes連接,並且沒有aps環境密鑰。這怎麼會發生? – DragonDoingPragramming 2012-04-14 02:46:33

+0

你是如何構建IPA的?如果您使用Xcode並選擇了正確的配置配置文件,則應該都可以。確保您的應用程序ID已配置爲用於開發和生產的推送通知。 – 2012-04-14 20:14:27

0

您的應用程序ID配置爲在ios門戶中使用apns生產環境?

,你也可以在烏拉圭回合的應用程序檢查日誌,它應該登錄具體原因

+0

「您的應用程序ID是否配置爲在ios門戶中使用apns生產環境?」 是的,我配置了。 「你也可以在你的應用程序中檢查日誌」 Thx很多,我先試試吧! – DragonDoingPragramming 2012-04-13 10:13:03

+0

我檢查了日誌,沒有任何關於我的應用程序。順便說一句,我確定registerRemoteNotificateTypes:...被執行,應該會彈出一個詢問用戶是否想要註冊APNS – DragonDoingPragramming 2012-04-13 10:18:26