一区二区三区欧美日韩-一区二区三区欧美-一区二区三区免费在线视频-一区二区三区免费在线观看-久久精品店-久久精品第一页

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點點滴滴

在企業(yè)內(nèi)部分發(fā) iOS 應(yīng)用程序

發(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)建好的所有證書。如果已經(jīng)創(chuàng)建了一個發(fā)布證書,可以重用。不過,重要的是創(chuàng)建證書時所用的證書簽名請求文件。如果這個文件沒有,那么在 Keychain 中的證書將不會有對應(yīng)的私鑰,也就不能用這個證書對代碼做簽名。如果你已經(jīng)記不得是否創(chuàng)建過證書,可以先下載相關(guān)的證書,然后雙擊打開它,在 Keychain Access 應(yīng)用程序中可以看到相關(guān)信息。如果在證書的左側(cè)有一個小的箭頭,那么說明在你們的 Mac 電腦中已經(jīng)存儲了此證書對應(yīng)的私鑰,也就可以用該證書對代碼進行簽名。通過單擊箭頭展開證書,看起來如下圖所示:

如果沒有箭頭,說明還沒有私鑰。要么就是私鑰存儲在另外一臺 Mac 電腦,那么可以將其傳到當(dāng)前 Mac 電腦中。要么就是你沒有私鑰,這種情況下,你是不能用這個證書來簽名分發(fā)應(yīng)用程序的。解決辦法就是:在蘋果開發(fā)網(wǎng)站中試試別的證書,或者創(chuàng)建一個新的證書:通過在 Mac 電腦中創(chuàng)建一個新的證書簽名請求文件。
如果還沒有構(gòu)建的話,通過點擊右上角的 ? 按鈕來創(chuàng)建發(fā)布證書,會看到如下界面 (希望截圖與你看到的稍微有點不同):

選中圓形按鈕In-House and Ad Hoc
。不知道為何,當(dāng)我為本文截圖時,我無法點擊這個按鈕。可能是我已經(jīng)創(chuàng)建了一個發(fā)布證書,所以這個按鈕不可選。不管怎樣,你應(yīng)該可以選這個按鈕的。
在接下來的界面中,會看到這樣:

這個界面告訴你如何創(chuàng)建一個 CSR 文件,該文件用于證書的創(chuàng)建。如果你不知道是否已經(jīng)創(chuàng)建好了這樣的一個文件,那么建議在 Spotlight 中輸入certSigningRequest
,對電腦中的內(nèi)容進行搜索。如果有這樣一個文件,可以將其用來創(chuàng)建證書,要是沒有的話,就手動創(chuàng)建一個。
創(chuàng)建好 CSR 文件之后,點擊Continue
來到下一個界面:

選擇 CSR 文件,然后點擊Generate

現(xiàn)在,證書已經(jīng)創(chuàng)建好了:

將其下載到本地,然后雙擊安裝到 Keychain中。

創(chuàng)建配置文件 (provisioning profile)
要創(chuàng)建用于發(fā)布的配置文件,定位到 Provisioning Profiles 的 Distribution 小節(jié)。然后點擊右上角的 ? 按鈕。現(xiàn)在看到如下圖所示界面:


選中In House
,然后單擊Continue
。選擇為程序創(chuàng)建的 App ID:

然后單擊Continue
。現(xiàn)在選擇正確的發(fā)布證書:

單擊Continue
。最后,命名配置文件,然后單擊Generate

下載生成的配置文件,雙擊安裝它:

創(chuàng)建 IPA 和 manifest
打開 Xcode,開始創(chuàng)建 IPA 文件。單擊左上角中的項目名稱。在中間區(qū)域,選擇targets
中的項目名稱。選擇頂部的General
。在Team
中,選擇 iOS Developer Enterprise Program 團隊的名稱。(為了本文,我選擇了私人賬號中的團隊,記得用企業(yè)團隊替代!):


在中間區(qū)域,選擇Project
中的工程名。單擊頂部的Build Settings
。在Code Signing
中選擇發(fā)布證書:

回到 中間區(qū)域的 target 中。單擊項目名稱。單擊頂部的Build Settings
。在 Debug, Any iOS SDK, Release 和 Any iOS SDK 中選擇發(fā)布證書。在 provisioning,選擇之前創(chuàng)建的配置文件:

記住,上面這樣的配置無法從 Xcode 將 應(yīng)用程序運行至設(shè)備中。這些配置僅用于發(fā)布。(你可以點擊 ? ,Xcode 將編譯整個工程,并嘗試將程序運行到設(shè)備或者模擬器中。但是之后會看到一個錯誤信息)。現(xiàn)在,點擊菜單中的Product
->Archive
。如果Archive
不可用,那么需要在 run scheme 中選擇一個真實的 iOS 設(shè)備。Run scheme 的意思是:

選擇Archive
將為程序創(chuàng)建一個 archive。位了創(chuàng)建一個 archive,需要按照上面介紹的,安裝一個合適的配置文件。archiving 完成之后,Xcode 將在 Organizer 中顯示 archive:

點擊Distribute...
,選擇Save for Enterprise or Ad Hoc Deployment


接著在下拉列表中選擇之前創(chuàng)建的配置文件:

接下來的界面中,勾選上Save for Enterprise Distribution
。將會呈現(xiàn)出一些文本框,此處允許你輸入一些信息,這些信息將被填入程序的 manifest 文件中。這個 manifest 文件是一個 plist 文件,我們可以用文本編輯器對其編輯。所以,這里填錯了沒關(guān)系,稍后可以對其修改。我填入的信息如下所示:

上面的 URL 就是 IPA 文件在互聯(lián)網(wǎng)中可被訪問的路徑。注意:雖然后面的處理過程都是基于 HTTPS 的,不過 IPA URL 必須是 HTTP。(注釋:譯者嘗試過 IPA 的路徑可以是 http 或 https,當(dāng)然不排除以后蘋果會嚴(yán)格限制)。
現(xiàn)在,你應(yīng)該獲得了兩個文件,IPA 文件和 一個 manifest 文件。將它們上傳到服務(wù)器上 (一般通過 FTP),路徑就是在 manifest 文件中指定的相關(guān)路徑 (本示例的路徑是mydomain.com/apps
)。現(xiàn)在創(chuàng)建一個 html 文件,文件中包括如下 html 標(biāo)記:

<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)的日志信息:


在上面示例中,我試圖使用自簽名的證書,通過 HTTPS 來安裝程序。但是點擊連接之后,我遇到了一個錯誤提示信息:Cannot connect to johannesluderschmidt.de
。通過 Xcode 中的 Console,我看到這些信息:

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/


本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://www.junxiaosheng.cn/20396.html
相關(guān)開發(fā)語言
 八年  行業(yè)經(jīng)驗

多一份參考,總有益處

聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡(luò),免費獲得網(wǎng)站建設(shè)方案及報價

咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系

業(yè)務(wù)熱線:余經(jīng)理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨詢
  • 在線咨詢
  • 官方微信
  • 聯(lián)系電話
    座機0755-29185426
    手機13699882642
  • 預(yù)約上門
  • 返回頂部
主站蜘蛛池模板: japanesematur乱儿| 美女视频黄色的| a级精品九九九大片免费看| 午夜插插插| 欧美极限变态扩张video| 国产在线观看www| 成人高清网站| 中文字幕精品在线观看| 午夜向日葵视频在线观看| 欧美成人免费观看久久| 好紧的小嫩嫩17p| 国产成人精品精品欧美| 99精品热视频30在线热视频| 亚洲人视频在线| 宿舍BL 纯肉各种PLAY H| 内射人妻骚骚骚| 久久亚洲AV成人无码国产漫画 | 久久足恋网| 国产人妻精品无码AV在线五十路 | 暖暖 日本 视频 在线观看免费 | 亚洲中文无码亚洲人在线观看-| 日本学生VIDEOVIDEOS更新| 免费视频久久只有精品| 久久久久久人精品免费费看| 果冻传媒AV精品一区| 国产精华av午夜在线观看| 成年人视频在线观看免费| 99热在线精品视频| 69亞洲亂人倫AV精品發布| 樱桃视频影院在线播放| 亚洲欧美无码2017在线| 亚洲国产成人久久一区www妖精| 色欲人妻无码AV精品一区二区| 人人模人人干| 欧美亚洲曰韩一本道| 女人被躁到高潮嗷嗷叫免费| 麻豆AV久久AV盛宴AV| 久久视频精品38在线播放| 黄网13区| 久久久精品日本一区二区三区| 九九大香尹人视频免费|