企業內部發佈行動應用程式更新版(Android&iOS)
一、環境
iOS 7.1+
Xcode 5.1.1
iOS Developer Enterprise Program 授權
Android 4.0+
IntelliJ IDEA 13 CE
Google Play 一般開發授權即可
Apache2(ubuntu 14.04)
IIS7(Windows Server 2008)
部分設定與舊版同,內容若有提及參照舊版文章處,其連結如下。
http://noone-sung.blogspot.tw/2012/01/ioswi-fi.html
二、iOS封裝。
(1)封裝
iOS 封裝檔副檔名為 .ipa,其授權說明參照舊版文章。
由於 iOS 7.1之後有個規定,iOS 的封裝檔必須擺在 https 的伺服器上才能安裝。否則會跳憑證無效錯誤。
為了測試方便,我們利用 Dropbox 的 Public 資料夾提供的 https 連結功能。
可以先做個 ipa 的假檔,以便先取得連結網址。因為待會使用 Xcode 封裝時就會用到。
把這串網址先複製下來。
回到 Xcode,開始準備封裝。
封裝前,務必先確認有Enterprise Provisioning Profile。同時系統鑰匙圈中也有 Enterprise Distribution Certificatem。
開發者中心網站可以下載。
但是有個地方要特別注意,官方網站下載核發的憑證,在自己電腦或曾經匯入的電腦,會自動出現專用密鑰。
如果在其他新電腦上匯入官方下載的憑證,匯入後會發現不會出現專用密鑰,這對後續封裝佈署是有問題的。
保險起見,應在產生憑證要求的電腦上,上傳官方核發正式憑證之後,將憑證下載,匯入電腦憑證中,確認是具有專用密鑰無誤的憑證。然後使用輸出 .p12 副檔名的資訊交換檔。將這個 .p12 檔案與官方憑證一同備份保留。
日後憑證匯入沒有專用密鑰產生,請改用.p12 匯入。
除了憑證之外,另一個重點是 Distribution 用的 Provisioning Profile。
同樣也由官網的開發者中心下載。
匯入Profile的最直接方法,就是將 Profile 拖拉到 Xcode 的 ICON 上,讓 Xcode吃進去。
注意1:如果是 Enterprise Distribution 的 Profile+憑證,開發及轉散佈均可;如果是用到 Developer 的 Profile+憑證,只能開發及供已註冊的裝置使用。
注意2:如果 Xcode 有正確吃進去,即使 Preference 的 Account 沒有設置任何開發者帳號,
封裝時也不會出現 “No provisioning profiles” 的錯誤。
封裝前,確認專案是否已經指定正確的簽章。
這是有問題的。
這才是正確的。
簽章指定都確認沒問題之後,才能接著進行下一步。
Xcode 5 之後,封裝直接選 [Product] 下面,不需進入 [Buile For]。
過程中,會出現數次存取鑰匙圈要求。
封裝完後,這裡跟舊版 (Xcode 4) 不大一樣,只有 [Distribution] 可以選。
要選企業佈署用。
選擇正確憑證。
正常情況下 Profile 這裡顯示的名稱應與開發者中心 Profile 名稱一致。如果顯示的是 "iOS Team Provisioning Profile:*" 之類的名稱,多半是指開發用的 Profile。
選擇封裝要儲存的位置。
封裝檔做完後,連同 plist 一起上傳到 Dropbox 的 Public 資料夾。
(2) Server端設定。
A、Apache2 網頁伺服器,設定MIME對應。
修改 mime.conf 檔。
sudo gedit /etc/apache2/mods-enabled/mime.conf
加入此行。
AddType application/octet-stream .ipa
B、IIS7網頁伺服器,設定MIME對應。
舊版文章已提過未變,請參閱之。
C、建立ipa封裝網頁連結,讓使用者點選下載。
<a data-role="button" data-inline="true" class="ipa-list" href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/u/XXXXXXXXXXX/touchpaint1/touchpaint1.plist">
三、Android封裝。(使用Intellij IDEA環境)
Android封裝檔副檔名為 .apk,其開發授權目前為止只要付一次即可。發佈要走企業或上Google Play請自便。甚至丟到網路芳鄰中,只要你的 Android行動裝置抓的到即可。apk封裝檔安裝跟在Windows上安裝應用程式差不多,下載到裝置內用檔案總管之類 app 找到點擊安裝即可。
產生自簽的 APK 檔。
Next
如果是第一次做,請先選擇 [Create new…] 以便產生自簽憑證。
新建OK之後,會自動帶出憑證及密碼。下次使用請自填。
apk封裝存放位置。
(2) Server端
A、Apache2 網頁伺服器,設定MIME對應。
同 ipa 的設定步驟,只是填入值不同而已。
AddType application/vnd.android.package-archive .apk
B、IIS7網頁伺服器,設定MIME對應。
這部分同 ipa 一樣,只是填入的值不同而已。
請參照前版舊文。
C、建立ipa封裝網頁連結,讓使用者點選下載。
<a data-role="button" data-inline="true" href="apk/touchpaint1/touchpaint1.apk" type="application/vnd.android.package-archive">TouchPaint</a>