我有一個使用推送通知的應用程序,我試圖將其分發給測試人員進行測試。如果應用程序通過iTunes安裝,推送通知不起作用,但如果通過XCode安裝應用程序,則推送通知不起作用
如果我創建了一個通過iTunes安裝的ad-hoc發行版,那麼除了推送通知之外,一切都可以正常工作,而這些通知永遠不會到達。 但是,如果應用程序使用XCode安裝,那麼推送通知確實到達。
當我使用XCode進行安裝時,我將XCode中的代碼簽名標識設置爲我的開發配置文件。當我爲特設分發構建時,我將XCode中的代碼簽名標識設置爲構建存檔時的特設分發配置文件,然後使用特設配置文件對存檔進行簽名以再次分發(我發現這是唯一的組合這將允許通過iTunes安裝而不會出現錯誤信息)。
所有設備都已添加到ad-hoc分佈配置文件和apple push配置文件(以及團隊配置配置文件)中,配置文件已在XCode中更新和刷新。 即使使用我自己的iPhone,如果我使用XCode安裝而不使用iTunes,也可以使推送通知正常工作。
我是否使用不正確的配置文件簽署特設分發,如果是的話,配置文件的正確組合是什麼? 推送通知不適用於特設分發,還是通過XCode安裝應用程序時,還有其他原因嗎?
這些都是使用的配置文件:
1) Apple push profile which has an App id of abcdef.com.company.mno
2) Project Development profile which has an App id of abcdef.com.company.mno
3) iOS Team provisioning profile which has an app id of abcdef.*
4) AdHoc Distribution profile which has an app id of abcdef.com.company.mno
5) My developer profile which has an app id of abcdef.com.company.mno
**,因爲第一次發佈這個我嘗試使用abcdef.com.company.mno應用程序ID創建一個新的iOS團隊的provisioning profile,但它並沒有區別**
abcdef.com.company.mno應用程序ID顯示推送通知開發爲啓用(這是正確的,我們還沒有使用生產推送)。其開發推送SSL證書也顯示爲啓用。
代碼簽名身份是:第一張圖片,我使用XCode進行安裝/運行,第二張圖片是爲ad hoc發佈構建存檔時的圖片。
中的XCode iPhone的分佈概況的描述說: 「特設分佈圖(用於捆綁標識符com.company.mno)」。
感謝,但它看起來像adhoc配置文件是一個明確的應用程序id(添加到原始發佈的詳細信息),而不是通配符? – Gruntcakes
顯示來自Xcode項目的代碼簽名標識設置(屏幕截圖)。這將非常有幫助。如果您使用的是「自動配置文件選擇器」,則可能選擇了錯誤的配置文件。 Xcode是那種愚蠢的方式。 (我一直在提交它的錯誤,但他們還沒有修復它。) – jsd
對於XCode構建,我將它們全部手動設置到開發概要文件,爲ad-hoc構建我手動將它們全部設置爲專用配置文件。我沒有使用自動選擇器。我會在幾分鐘後發佈一個屏幕截圖。 – Gruntcakes