LearnHouse

[iOS]XCode4.5利用Ad-Hoc發佈IPA到網頁

寫完iOS的程式最重要的就是要到自己的iPhone RUN一下了

要將程式佈署到iPhone有三種方法:

第一種是iPhone接MAC直接透過XCode佈署,參閱『XCode開發者帳號憑證設定與APP佈署

這方法比較適合自己開發自己測試,這個方式我用好久= ="

第二種是打包成ipa後透過iTune作安裝的動作,如何打包成ipa我下面會再說明

這個方式我沒試過,因為測試者需要在自己的電腦額外裝iTune,就是因為我不想裝所以沒測試這種方式

第三種是直接提供網頁連結,測試者只要透過手機上的safari點選即能安裝

這是我認為最方便的方式了,也是本篇的精華所在

不過我寫這篇主要是因為目前網路上的作法都是舊版的方式

鮮少有人跟我一樣已經升級到XCode4.5,畢竟iPhone5才剛出來不到一個月

再開始前,先聲明一下,因為我已經懶得自己截圖了,所以以下的圖片都是來自網路上的資源

而且以下圖片並不是來自於單一網站,而是整個浩瀚的網路資源

聲明完後~那麼~本文就要開始了

首先照我之前寫的『XCode開發者帳號憑證設定與APP佈署』完成XCode開發者憑證設定

比較特別的是在設定Provisioning時,要切到Distribution多設定Ad Hoc發佈方式並Download

再來是Xcode的設定

Step1  Project->info->Configurations點選『+』新增一個名稱為Ad Hoc

Step2 Project->Build Settings->Code Signing->Ad-Hoc中的Any iOS SDK設定為iPhone Developer,這裡其實可以全部都設iPhone Developer

Step3 點選Xcode中的Product/Edit Scheme並切換到Archive,選擇Build Configuration為Ad Hoc

Step4  點選Xcode中的Product/Archive

Step5 點選Distriute

Step6 選擇Save for Enterprise or Ad-Hoc Deployment

Step7  直接點選Next

Step8  勾選 Save for Enterprise Distribution這是用來發佈到網頁上的,如果不勾選純粹產生ipa檔,測試者要透過iTune來安裝。另外在Application URL的地方,就是ipa在網路空間的位置,需實際輸入ipa網路位址,否則會無法安裝

Step9  點選Save後會產生兩個檔案xxx.ipa、xxx.plist,編輯下列html與法,將三個檔案上傳到Web即可透過iPhone來安裝

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Setup My App</title>
</head>
<body>
<ul>
<li><a href="itms-services://?action=download-manifest&url=http://xxx.xxx.com/xxx.plist"> Tap Here to Install the Application</a>
</li>
</ul>
</body>
</html>

Step10 iPhone安裝過程


以下是我做的Demo頁
http://learn-house.idv.tw/iphone.html
如果有人真的很無聊的去用iPhone試這個Demo頁
你會發現無法安裝,為什麼呢??
道理是一樣的因為當初在產生ipa時,我沒有註冊你Device的UDID
所以你當然不能裝囉~~~

posted by admin in 程式&軟體 and have Comments (2)

2 Responses to “[iOS]XCode4.5利用Ad-Hoc發佈IPA到網頁”

  1. Mickey 說:

    不好意思想請問您
    如果想開發企業內部的應用程式(類似考核系統
    也已經購買Enterprise Developer
    該如何封裝或操作
    想要一樣透過網頁讓user安裝
    是否有方法可以不用取的user手機的UDID

  2. admin 說:

    就我目前知道的都一定要取得測試手機的UDID,不確定有沒有可以不用取得手機UDID的做法,我覺得可能沒有,因為部屬測試的App會同時部Provision到你的手機,而Provision就是你所註冊允許測試的Device,我猜應該也是這個Provision檔才能讓你的APP可在非透過App Store或JB過的情況下直接運行在你的手機

Place your comment

Please fill your data and comment below.
Name
Email
Website
Your comment