為您解碼網(wǎng)站建設(shè)的點點滴滴
發(fā)表日期:2016-07 文章編輯:小燈 瀏覽次數(shù):1869
本文譯自:Provision iOS IPA App for In-House Enterprise Distribution
在企業(yè)內(nèi)部分發(fā) iOS 應(yīng)用程序非常復(fù)雜。經(jīng)過努力,我成功實現(xiàn)了在企業(yè)內(nèi)部的應(yīng)用程序分發(fā)。我決定用此文來記錄我的最佳實踐方法,以供將來參考。
如果你希望通過 Safari 能在任意的 iOS 設(shè)備上安裝應(yīng)用程序 (不需要發(fā)布到 App Store,也不需要通過 iTunes,以及 MDM - 通過 MDM 方法會用到本文創(chuàng)建的 IPA 和 manifest,那么這篇文章可以幫助你。
在開始發(fā)布企業(yè)應(yīng)用之前,需要具備以下條件:
必須是 iOS Developer Enterprise Program 中的團隊成員 (至少是一個 admin)。每年需要向蘋果支付費用 299$。普通的 iOS Developer Program 無法進行企業(yè)應(yīng)用發(fā)布。膩味蘋果希望額外確保客戶能夠?qū)δ愫湍愕墓拘湃危阅阈枰暾埰髽I(yè)計劃。公司的 CEO 需要跟蘋果簽一個合同。
域名需要一個有效的 SSL 證書,該域名用來放置應(yīng)用程序。沒有有效的 SSL 證書,iOS 設(shè)備將無法從站點安裝應(yīng)用程序。這樣的 SSL 證書也非常昂貴。
下面介紹一下我開發(fā)中的相關(guān)環(huán)境配置。我使用 Xcode 5.1,和 iOS 7.1。我還是一個 iOS Developer Program team 的 admin 成員。互聯(lián)網(wǎng)上我發(fā)現(xiàn)許多過時的相關(guān)設(shè)置。如果在以后,你發(fā)現(xiàn)了錯誤,或者有更好的解決方案,請回復(fù)告訴我!
要想按照本文完成應(yīng)用的企業(yè)分發(fā),必須按照以下內(nèi)容作為出發(fā)點:
在 Xcode 中有一個用于企業(yè)級分發(fā)的工程。
在 iOS Developer Enterprise Program team 中為此工程創(chuàng)建一個 App ID。稍后將在 配置文件中使用到這個 ID。如果還沒有準(zhǔn)備好這些,先來這里創(chuàng)建一個恰當(dāng)?shù)?App ID。此處不再詳細介紹如何創(chuàng)建 App ID。
在本文中,我們將創(chuàng)建下面這些內(nèi)容:
創(chuàng)建發(fā)布證書 (distribution certificate)
創(chuàng)建配置文件 (provisioning profile)
創(chuàng)建 IPA 和 manifest
創(chuàng)建發(fā)布證書 (distribution certificate)
針對企業(yè)級發(fā)布,需要一個發(fā)布證書 (發(fā)布證書與開發(fā)證書不同)對代碼進行簽名。這個證書僅對創(chuàng)建發(fā)布的應(yīng)用程序有用。不能在 Xcode 的開發(fā)中使用。
如何獲得發(fā)布證書:在 iOS Dev Center 中,導(dǎo)航至 Certificates 小節(jié)。這里需要登錄到企業(yè)開發(fā)中心!另外還需要一個至少是 admin 的角色成員 (點擊查閱iOS 開發(fā)中心更多關(guān)于角色介紹)。然后點擊 Production,會看到如下內(nèi)容 (敏感部位已經(jīng)涂黑)
創(chuàng)建配置文件 (provisioning profile)
要創(chuàng)建用于發(fā)布的配置文件,定位到 Provisioning Profiles 的 Distribution 小節(jié)。然后點擊右上角的 ? 按鈕。現(xiàn)在看到如下圖所示界面:
創(chuàng)建 IPA 和 manifest
打開 Xcode,開始創(chuàng)建 IPA 文件。單擊左上角中的項目名稱。在中間區(qū)域,選擇targets
中的項目名稱。選擇頂部的General
。在Team
中,選擇 iOS Developer Enterprise Program 團隊的名稱。(為了本文,我選擇了私人賬號中的團隊,記得用企業(yè)團隊替代!):
<a href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">Install the In-House App</a>
manifest 文件的路徑必須是HTTPS
!將 html 文件跟 IPA 和 manifest 文件一起放置到服務(wù)器上。
現(xiàn)在我們來了解一下 HTTPS/SSL:為了能夠通過互聯(lián)網(wǎng)安裝 IPA 文件,自從 iOS 7.1 以來,蘋果就強制要求,manifest 文件必須通過 HTTPS 方式加載。
為了允許 IPA 文件安裝成功,HTTPS 連接需要用 SSL 證書來認(rèn)證,這個證書是從證書簽發(fā)中心那里針對域名注冊得到的。這樣的證書非常的昂貴。不過你都已經(jīng)為 iOS Enterprise Developer Program 支付了299$,那證書的價格就不算什么了。
為了安裝 IPA,我們在 iOS 設(shè)備的 Safari 中輸入 html 文件的 URL 地址(以 HTTPS 開頭),然后點擊鏈接,并確認(rèn)安裝提示。
如果安裝過程中又錯誤提示框,大多數(shù)時候這個錯誤提示框無法定位具體原因。為了找到錯誤原因,將 iOS 設(shè)備連接到電腦,在 Xcode 中的 Organizer 里面選擇對應(yīng)設(shè)備中的 Console,就可以看到并分析相關(guān)的日志信息:
NSErrorFailingURLStringKey=https://johannesluderschmidt.de/app/appName.plist, NSUnderlyingError=0x165c7f30 “The certificate for this server is invalid. You might be connecting to a server that is pretending to be “johannesluderschmidt.de” which could put your confidential information at risk.”
看吧,Safari 給的提示信息很少,但是在 console 中提供的信息就非常有用。
就是這樣啦。非常容易,不是嗎?我大約用了一天時間,并查閱了 stackoverflow 中的許多文章就搞定在企業(yè)內(nèi)部分發(fā) iOS 應(yīng)用程序的技術(shù)原理了。
希望你也能很快掌握!
原文地址:http://beyondvincent.com/2014/07/30/2014-07-30-provision-ios-ipa-app-for-in-house-enterprise-distribution/
日期:2018-04 瀏覽次數(shù):6766
日期:2017-02 瀏覽次數(shù):3440
日期:2017-09 瀏覽次數(shù):3663
日期:2017-12 瀏覽次數(shù):3534
日期:2018-12 瀏覽次數(shù):4828
日期:2016-12 瀏覽次數(shù):4586
日期:2017-07 瀏覽次數(shù):13649
日期:2017-12 瀏覽次數(shù):3516
日期:2018-06 瀏覽次數(shù):4269
日期:2018-05 瀏覽次數(shù):4448
日期:2017-12 瀏覽次數(shù):3561
日期:2017-06 瀏覽次數(shù):3986
日期:2018-01 瀏覽次數(shù):3947
日期:2016-12 瀏覽次數(shù):3917
日期:2018-08 瀏覽次數(shù):4430
日期:2017-12 瀏覽次數(shù):3713
日期:2016-09 瀏覽次數(shù):6410
日期:2018-07 瀏覽次數(shù):3213
日期:2016-12 瀏覽次數(shù):3234
日期:2018-10 瀏覽次數(shù):3388
日期:2018-10 瀏覽次數(shù):3484
日期:2018-09 瀏覽次數(shù):3583
日期:2018-02 瀏覽次數(shù):3601
日期:2015-05 瀏覽次數(shù):3526
日期:2018-09 瀏覽次數(shù):3309
日期:2018-06 瀏覽次數(shù):3436
日期:2017-02 瀏覽次數(shù):3876
日期:2018-02 瀏覽次數(shù):4342
日期:2018-02 瀏覽次數(shù):4178
日期:2016-12 瀏覽次數(shù):3577
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.