2012-10-11 189 views
1

我有一個使用推送通知的應用程序,我試圖將其分發給測試人員進行測試。如果應用程序通過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發佈構建存檔時的圖片。

enter image description here

enter image description here

中的XCode iPhone的分佈概況的描述說: 「特設分佈圖(用於捆綁標識符com.company.mno)」。

回答

-1

您可能正在使用通配符應用ID設置配置文件簽署adhoc版本。確保構建設置中的代碼簽名標識明確使用您的顯式應用程序標識設置配置文件。

+0

感謝,但它看起來像adhoc配置文件是一個明確的應用程序id(添加到原始發佈的詳細信息),而不是通配符? – Gruntcakes

+0

顯示來自Xcode項目的代碼簽名標識設置(屏幕截圖)。這將非常有幫助。如果您使用的是「自動配置文件選擇器」,則可能選擇了錯誤的配置文件。 Xcode是那種愚蠢的方式。 (我一直在提交它的錯誤,但他們還沒有修復它。) – jsd

+0

對於XCode構建,我將它們全部手動設置到開發概要文件,爲ad-hoc構建我手動將它們全部設置爲專用配置文件。我沒有使用自動選擇器。我會在幾分鐘後發佈一個屏幕截圖。 – Gruntcakes

1

今天早上我有一個類似的問題,試圖編譯一個內部應用程序(我認爲這是同樣的問題)。我有iPhone插入到計算機和我在控制檯看到一個警告,如:權利「APS-環境」已經不是由供應配置文件

我試過這個解決方案允許值,但我沒有成功:

'aps-environment' has value not permitted by a provisioning profile

因此,我的應用程序在從Xcode運行的發佈模式下正常工作,但是當我嘗試使用Ad Hoc證書導出時,我的iPhone在控制檯上顯示該消息。

最後我去了iPhone中的配置文件,並刪除了所有。我去了組織者中的配置文件,也刪除了。我通過Provisioning門戶編輯了配置文件並再次下載它們。

我將代碼簽名更改爲不要代碼簽名。再次改變爲內部供應配置文件,導出到一個文件,一切工作正常!

+0

如果您在代碼簽名時選擇了「App Ad-hoc」配置文件,並且您對配置文件進行了任何更改,則必須選擇任何其他配置文件並再次選擇它來刷新更改(所以我選擇了不要代碼簽名,然後再次選擇它) –

+0

謝謝,雖然似乎並沒有影響任何東西。您是否使用特設配置文件在兩個階段進行簽名?我想知道iOS團隊配置文件是否需要abcdef.com.company。努力推動工作。 – Gruntcakes

+0

是的。您是否嘗試添加/刪除某個設備到配置文件,然後重試?正如我的回答所說,我在某些主題中看到,如果人們在創建配置配置文件後在應用上配置了推送,那麼他們正在試驗問題。這就是我告訴你編輯配置文件的原因。 –