48

我的印象是,當您使用開發配置文件構建應用程序時,只有指定的開發人員才能將該構建部署到手機。爲什麼不使用開發配置而不是ad hoc?

但我只是部署了一個使用Xcode Organizer的開發個人資料的構建,即使我不是該配置文件的有效開發人員之一。我的一位甚至沒有安裝Xcode的同事也在使用iTunes的手機上做了同樣的事情。

在這種情況下,爲什麼不使用開發配置文件將應用程序分發到你的質量保證團隊,而不是臨時分佈?

編輯:請在回答前仔細閱讀該部分。我不是在問一個基本的「這項工作如何」的問題。我做了很多開發,特設和應用商店構建,現在我發現我似乎做出了一些錯誤的假設。

回答

71

有一種情況需要使用Ad Hoc配置文件,這就是您想要測試推送通知的情況。

如果您在開發調配配置文件上測試推送通知,則需要使用開發推送通知證書將您的SSL連接發送到Apple的沙盒APNS服務器。

如果要使用生產推送通知證書和實時APNS服務器來測試推送通知,則必須使用分發證書和特定配給配置文件(包括執行授權)將您的應用部署到設備。如果您僅使用開發人員配置配置文件,則通常可以跳過這種情況)。

另請注意,當您使用Ad Hoc配置文件進行部署時,設備令牌將與您在使用開發配置文件時使用的設備令牌不同。此外,這也是測試APN的推薦方式,因爲Ad Hoc構建和AppStore上的最終實時部署之間不需要進行後端更改。

+0

是否可以使用Ad Hoc在與開發配置文件一直使用的設備上進行測試?我相信我正在做的一切正確,但沒有得到警報。我有一種感覺,那是因爲我首先使用開發配置文件授權設備上的警報。 – steve 2012-04-19 03:37:23

+3

我相信你在這個回答中說的是真的,推送通知是區分這些問題的主要問題,但如果這是真的,爲什麼蘋果的文檔一再表明需要設置分發配置文件以供團隊成員共享。在他們的文檔中,這意味着您需要的不僅僅是開發人員配置文件與其他人分享,儘管看起來並非如此。有什麼改變嗎?請參閱:http://developer.apple.com/library/ios/#technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-TROUBLESHOOTING_GUIDE-CODE_SIGNING_ENTITLEMENTS – beno 2013-03-06 18:01:32

+0

我有問題請仔細閱讀。這個問題沒有提到。我可以使用adhoc配置文件和ssl的開發推送通知來測試推送通知嗎? – hasan83 2014-12-16 12:14:49

7

Ad-Hoc不適用於開發人員,但適用於測試人員。誰沒有iPhone SDK/XCode,僅限iTunes。

(答案是:你可以安裝點對點應用,而無需開發人員證書,並不能與開發應用程序做)

+2

但是,只要具有開發配置文件,我*就能夠安裝開發應用程序而無需開發人員證書。 開發配置文件是否包含開發者的私鑰?這就是爲什麼這有效嗎? – lawrence 2010-04-13 17:55:56

+0

那很有趣。不得不多挖一點點來回答這個問題。 – bealex 2010-04-13 18:46:15

+0

而且,順便說一下,你可以在沒有Xcode的情況下安裝開發者版本嗎? – bealex 2010-04-13 18:47:17

-1

方法1:在Xcode

的開發配置文件安裝要求您從XCode內運行應用程序(最初)。

這具有將設備標記爲用於開發的副作用,但還需要將iPhone/iPod Touch連接到運行XCode的設備。一旦您從XCode運行應用程序,應用程序就會安裝在設備上,您不再需要連接到本機來運行它。 (除非你要更新的應用程序。)

方法2:從iTunes

安裝一個特設的供應配置文件允許你給應用程序的任何人,讓他們使用iTunes安裝它自己。你給他們:

  • 的應用程序,並
  • 特設供應簡介

他們選擇這兩個,並將它們拖到iTunes中。然後同步。

稍後,您可以只給他們一個應用程序的更新版本(沒有Ad-Hoc Provisioning Profile,因爲他們已經在其設備上安裝了該應用程序),他們可以將新應用程序拖到iTunes圖標上進行安裝新版本。

Ad-Hoc分發的一個限制是,它要求您將每個設備ID輸入iPhone開發門戶。每年有100個設備ID的限制(您不能刪除任何ID,直到您的下一年開始 - 只添加它們)。對於大多數開發人員來說,100-ID限制不會成爲障礙,請記住,您需要提前獲取設備ID,然後才能創建臨時配置配置文件以發送給要安裝應用的人員。

+0

你沒有回答我的實際問題。 – lawrence 2010-04-13 17:57:03