前言
最近項目遇到經(jīng)常要跟原生APP開發(fā)對接痕囱,公司這邊讓我這邊維護(hù)plist文件聂喇,一直碰到包有問題寻定,上趕著學(xué)點IOS發(fā)包的一些知識好了儒洛。。狼速。不知不覺把手伸進(jìn)了原生APP開發(fā)領(lǐng)域琅锻。。向胡。
今天查閱資料找到一個完整的圖文教程恼蓬,抓緊學(xué)習(xí)一下。
一僵芹、通過企業(yè)賬號申請證書:
1处硬,Certificate Signing Request (CSR)文件
在Mac系統(tǒng)中進(jìn)入“鑰匙串訪問”,選擇“鑰匙串訪問”-“證書助理”-“從證書頒發(fā)機(jī)構(gòu)請求證書…”
填寫前兩項拇派,儲存到磁盤:
2荷辕,請求Certificate證書
登錄https://developer.apple.com —>MemberCenter—>Certificates, Indentifiers & Profiles—>Certificates
點擊右上角加號,添加一個證書:
選擇In-House and Ad Hoc攀痊,點繼續(xù)
Choose File選擇第1步的CSR文件上傳桐腌,點擊generate生成cer證書拄显,下載后雙擊安轉(zhuǎn)(需要輸入Mac的密碼)
3 App ID
點擊右上角的加號按鈕:
有兩項需要填(如圖8所示)苟径,name為描述可以隨便填寫.bundleID必須與APP的bundleID完全一致(如圖9所示)。至于App Services根據(jù)自己需要選擇躬审。最后點擊繼續(xù)->submit->done
4 生成最終的Provisioning Profile(企業(yè)版不需要device即iPhone的UDID棘街,因此跳過)。
選擇Provisioning Profile->ALL承边,點擊右上角加號:
選擇剛創(chuàng)建的AppID遭殉,點擊繼續(xù)
選擇cer證書點擊繼續(xù).圖13 給最終生成的Profile文件命名方便自己識別。然后點擊生成博助,并下載雙擊打開险污。至此證書環(huán)節(jié)完畢
二、打包ipa手動生成plist
這一步開始前,需要將手機(jī)插入電腦蛔糯,并調(diào)試選項選擇真機(jī)拯腮。(防止無法Archive),如果沒有真機(jī)蚁飒,可以選擇iOS Device(這個沒有測試)动壤。
1 打包ipa
1.1 Edit scheme
用Xcode打開對應(yīng)APP。Product->Scheme->Edit scheme淮逻,填寫Archive name琼懊,即為打包后的ipa名字
1.2 選擇對應(yīng)證書,即剛才生成的證書
1.3 歸檔爬早,Product->Archive
完成之后會生成一個ipa包哼丈。
三、發(fā)布APP
要發(fā)布還必須有一個plist文件凸椿,在Xcode6之前會自動生成一個plist文件削祈,但是Xcode6之后需要我們自己創(chuàng)建plist,文章最后提供一個plist模板脑漫,復(fù)制并重命名為plist后打開根據(jù)提示操作即可.圖18為plist的截圖髓抑,可以看到有三個URL,分別存放ipa优幸,大小圖標(biāo)吨拍。下圖的1(ipa)、2(大圖)网杆、3(小圖)填寫我們自己生成的URL羹饰,即將ipa和大小圖標(biāo)放在我們自己的服務(wù)器,當(dāng)用Safari打開plist時會根據(jù)填的plist里面的1碳却、2队秩、3對應(yīng)的URL來下載安裝ipa、大小圖標(biāo)昼浦。
那么plist放在哪里呢(即Safari打開plist的URL是多少呢)馍资?蘋果對plist存放地址有要求,必須是https的关噪,如果沒有https網(wǎng)站鸟蟹,我們可以把plist放在https://git.oschina.net。具體做法就是在上面創(chuàng)建一個項目(不能是私人的)使兔,然后將編輯好的plist傳到項目建钥,最后將plist的URL賦值下來,比如https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist虐沥。然后我們在Safari中輸入:itms-services:///?action=download-manifest&url=https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist就可以安裝了(一定要將紅色字符串和藍(lán)色URL一起輸入)熊经。
Safari操作的具體流程是:
1 Safari解析我們輸入的那一串字符串,找到plist文件
2 根據(jù)plist文件里面提供的信息下載并安裝ipa包,還會訪問大小圖標(biāo)镐依,大小圖標(biāo)在ipa包正在下載時顯示悉盆,當(dāng)下載完畢后顯示程序自帶的圖標(biāo)
下載安裝后,如果想打開程序還需要在手機(jī) 設(shè)置->通用->描述文件與設(shè)備管理(不同系統(tǒng)可能名字不一樣) 里面選擇相應(yīng)的證書信任后馋吗,方可打開程序
那么焕盟,[如何獲取別人的APP,或者避免別人下載自己的APP呢宏粤?]
注意脚翘,公用的https鏈接會被封掉,可以試試github绍哎,百度云来农,七牛云存儲等等。最好還是用自己的
下面是plist模板的文本形式崇堰,將其復(fù)制到文本然后重命名.plist沃于,用Xcode打開按照提示編輯即可。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>ipa包URL(必填)</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>下載時大圖(非必填)</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>下載時小圖(非必填)</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>BundleID(必填)</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string>副標(biāo)題(非必填)</string>
<key>title</key>
<string>應(yīng)用名(必填)</string>
</dict>
</dict>
</array>
</dict>
</plist>
PS: <key>bundle-identifier</key>這一項不能跟其他的包重名海诲,否則下載過程中會覆蓋同名的包
四繁莹、什么是plist文件?
1,Plist是一種文件形式,通常用于儲存用戶設(shè)置特幔,也可以用于存儲捆綁的信息咨演,該功能在舊式的Mac OS中是由資源分支提供的。由于Plist中存儲的數(shù)據(jù)是抽象的蚯斯,其采用的文件格式可以不止一種薄风。
2,它是IOS開發(fā)過程中常用來捆綁信息的一種文件格式,它是數(shù)據(jù)格式是xml
補(bǔ)充: ipa文件
IPA是Apple程序應(yīng)用文件iPhoneApplication的縮寫拍嵌,ipa格式就是IOS系統(tǒng)安裝包的鏈
.plist下載地址格式:
<a href="itms-services://?action=download-manifest&url=https://www.baidu.com/ios/ceshi.plist"></a>