12

我正在構建使用推送通知的iOS應用程序,並且我終於準備好提交它。在我做之前,我想測試一下生產服務器上的推送通知,以確保一切正常。到目前爲止,沙箱環境一直很好。供應配置文件+推送通知+生產與開發

經過相當多的搜索之後,我瞭解到將服務器從ssl://gateway.sandbox.push.apple.com:2195切換到ssl://gateway.push.apple.com:2195還不夠,並且生產推送令牌與沙盒推送令牌不同。相反,顯然我需要一個新的供應配置文件,其中包含Production權利,在我的服務器上安裝新證書,以及使用所述配置文件重新構建我的應用程序,以便它知道創建正確的推送令牌。

因此,經過所有步驟後,我甚至無法在手機上進行構建; XCode中說

此配置文件無法在設備

下面是我所採取的步驟進行安裝。如果我失去了一些東西,請讓我知道:

  • 在我的iOS開發者中心,我確信,在「啓用製作」我的AppID蘋果推送通知服務下。

  • 同樣在我的iOS開發人員中心中,我創建了我的生產推送SSL證書,完成了必要的轉換步驟,並在我的服務器上安裝了生成的.pem。

  • 根據說明,我創建了「包含您希望用於通知的App ID的新配置文件。」我已經完成了這項工作,進入Provisioning,然後單擊「Distribution」選項卡並創建一個新配置文件。我已確認「製作」設置在此配置文件的「權利」部分下。

  • 我在我的項目設置中選擇了配置文件。我得到

    此配置文件無法在設備

    要安裝的消息,我被困。

+1

隨着Apples Testflight的添加,您現在可以在上線前測試生產推送通知。您只需上傳一個版本並將您的證書更改爲生產版本(同時指向Apple Live推送不是沙箱) – AMAN77

回答

14

您無法安裝在設備上使用appstore分發(製作)配置文件編譯的應用程序。只有蘋果的評論員可以做到這一點。您只能測試在開發模式下編譯的應用程序並使用沙箱服務器。 如果要測試生產服務器,則必須使用AdHoc分發配置文件編譯應用程序,以啓用要執行測試的設備。很明顯,您必須重新編譯並使用App Store發佈配置文件發送應用程序進行審查。

+0

我發現我可以使用App Store分發配置文件(在配置文件下)安裝內置Xcode的應用程序。但是,調試器不會附加(這是App Store構建的預期)。也就是說,我能夠在iPad上啓動應用程序並以這種方式測試生產推送通知設置。 – penfold

+0

這聽起來很奇怪。確實,您可以使用AdHoc發行版配置文件來完成此操作,但對於我來說,您可以在App Store配置文件中執行相同的操作,這聽起來很奇怪。您是否使用越獄設備? – viggio24

+0

不,沒有越獄,雖然有可能讓我感到困惑,因爲很容易做到。 :-)現在再讀一次我的評論,你似乎不可能運行一個在配置文件中沒有UDID的應用程序......可能它仍然使用Ad Hoc配置文件構建,並且仍然收到來自生產的推送通知服務? – penfold

31

爲您的應用程序構建專門的分發版本,並將其安裝到您自己的設備上。這將使用生產APN網關和證書。

+0

也是一個很好的答案,謝謝Alex。 – Chazbot