iPhone應用發布:使用Ad Hoc發布自己的應用程序
使用Ad Hoc有什么好處呢,你可以:
發布自己的程序給親朋好友,且不收取費用
程序正式上傳之前,得到更多人的review
Apple的設備開發Provisioning Profile有3個月的限制,用其安裝的程序,3個月后如果不更換Profile,程序就不能使用了,換成AdHoc的話,可延長期限到你的IDP截至日期
使用各種Private API等Apple禁止的功能,而不擔心被Reject
但是使用Ad Hoc發布仍是有限制的,就是發布的設備最多只有100臺。下面我們就來看看其發布和發布后安裝的流程。
發布
下面列出了用Ad Hoc的發布流程,一些步驟是與iPhone開發入門設備上運行程序和iPhone開發入門在App Store上發布程序重復的。你可以根據實際情況省略。
發布前的準備

發布前需要知道對方設備的的ID(iPhoneUDID),可以讓對方到AppStore上安裝一款叫「AdHocHelper」的免費工具,然后用它給自己發一封郵件就好了(其中包含了對方設備的UDID)。或者使用其他方式得到設備的UDID,比如iTunes。總之需要得到發布目的的UDID。

生成證明書
從應用程序點擊「utility」→「Keychainaccess」。

然后點擊「Keychainaccess」→「證明助手」→「發行證明書...」。

其中在「用戶的郵箱地址」中填寫注冊AppleID時的地址,并在CommonName中輸入英文的名字。***選擇「保存到硬盤」和「指定對稱鍵情報」后點擊「下一步」。

適當選擇文件保存的位置。

對稱鍵情報中,確認鍵的大小為「2048位」,算法是「RSA」后點擊「下一步」。

過上一會兒,出現結束畫面。剛才保存的文件可以用來請求證明書。
注冊證明書
如下圖,點擊左邊的「Certificates」可以注冊剛才做好的證明書。

點擊「RequestCertificate」,在下面的畫面中選擇請求證明書的文件,***點擊「Submit」。

提交之后被添加到表格中,之后點擊「Approve」等待。

之后,表格中顯示「Download」按鈕,點擊它下載證明書。

同時不要忘了下載表格下面的「WWDRintermediatecertificate」。之后分別雙擊這兩個下載的文件,在「提交證明書」對話框中選擇OK。這之后就可以在Keychain的「證明書」一項中確認添加的證明書了。

注冊設備
接下來注冊iPhone或者iPodtouch。選擇「Devices」的右上角的「AddDevice」。

在「DeviceName」中輸入任意的設備名稱。在「DeviceID」中輸入剛才確認的UDID后就OK了。最多可輸入100個設備的UDID。

生成AppID
接下來點擊「AppIDs」,來生成AppID。

在「AppIDName」中輸入任意的名字,在右邊的「AppID」中輸入“*”。利用AppID將應用程序按不同的組管理起來。如果你輸入的「BundleIdentifier」與應用程序中包含的「BundleIdentifier」不一致的話,程序是不會啟動的。它主要是為了方便多人開發的項目,對于個人而言沒有什么必要。所以這里將AppID寫作「*」就是說含有任何BundleIdentifier的程序等可以運行。
***點擊Submit,就完成了注冊。

創建ProvisioningProfile
***來創建ProvisioningProfile。選擇「Privisioning→Distribution→NewProfile」點擊右上角的「AddProfile」。
DistributionMethod:AdHoc
ProfileName:任意
DistributionCertificate:剛才設置好的
AppID:剛才設置好的
Devices:選擇你要發布的設備ID(可多選,***100個)
隨后點擊Submit創建ProvisioningProfile。

等待一會兒,表格中「Download」顯示出來。點擊它下載ProvisioningProfile文件。
安裝Provisioning
打開應用程序程序的Xcode項目。由菜單打開「窗口」→「organizer」,拖動剛才創建的Provisioning文件到Provisioning項目中。

Entitlements.plist
Resources中創建新文件→CodeSigning→Entitlements→AddHockEntitlements.plist
項目設定
為了創建distributionbuild,需要向工程中添加新的編譯目標。由Xcode的菜單點擊「項目」→「項目設定」中的「構成」標簽。

選擇表中的「Release」,并點擊在下的「複製」,生成「Release的拷貝」后,將其名稱改為「AdHock」。結束后點擊「編譯」標簽,選擇「AdHock」。

***,需要在「AnyiPhoneOSDevice」項目上選擇剛才安裝的ProvisioningProfile。CodeSigningEntitlements中設置剛才創建的"AddHockEntitlements.plist"。
編譯
選擇ActiveSDK為Device、構成為「AdHock」就可以編譯了。

安裝
方法1:使用iTunes同步
將編譯好的xxxx.app與ProvisioningProfile文件一并打包發送給你的用戶。用戶解壓后拖動xxxx.app文件夾和profile文件到iTunes的資料庫⇒應用程序下,然后與目標iPhone設備同步即可。

方法2:使用iPhone配置實用工具
到這里下載iPhone配置實用工具,然后同樣將解壓后的xxxx.app文件夾和profile文件到拖動到配置工具的資料庫⇒應用程序下,點擊右邊的安裝即可。

