IOS安裝包類型 ——IPA介紹
IPA是Apple程序應(yīng)用文件IPhoneApplication的縮寫冕茅。IPA本質(zhì)上是一個ZIP壓縮包犁跪,這里提醒一下,android上面的APK包也是一個ZIP文件。也就說說只要我們將后綴名改成.zip后瑰煎,就可以將文件解壓铺然,然后將里面的內(nèi)容提取出來。
IPA包結(jié)構(gòu):
一般情況下我們在ITunes上看到一個ipa包內(nèi)有如下文件:
1,Payload文件夾:里面包含了app使用的圖片以及二進(jìn)制文件等酒甸。
2,iTunesArtwork:實際上是無后綴的png圖片魄健,在iTunes等上顯示用。
3,iTunesMetadata.plist記錄購買者的信息插勤,軟件版本沽瘦,售價等。
而如果是XCode編譯出來的ipa包只能看到有Payload文件夾农尖,后兩項是iTunes添加并需要的析恋。
ipa包解壓之后安裝在/var/mobile/Application目錄下,全部文件和目錄的所有者及用戶組均設(shè)為 mobile(ID 為 501)盛卡,主程序(可執(zhí)行文件)的權(quán)限設(shè)為 0755 (所有人都可以執(zhí)行助隧,但只有所有者可以修改),可執(zhí)行文件在 plist 中定義滑沧。全部目錄權(quán)限設(shè)為 0755并村,而其它所有文件都設(shè)為 0644(僅所有者可以修改,其余人只允許讀取滓技,全部人都不允許執(zhí)行)橘霎。
IPA解包后并非直接放置于 Applications 目錄下,而是放在一串由隨機(jī)碼構(gòu)成的目錄下殖属,其作用在于姐叁,只允許這個軟件運行在一個特定的沙盒(Sandbox)中,不能干擾其他軟件洗显。因此那串隨機(jī)碼目錄下外潜,除了 ipa 本身的三個組件之外,還有三個目錄:Library挠唆,一般是用了儲存設(shè)置文件等數(shù)據(jù)处窥;Documents,存儲數(shù)據(jù)玄组,多用了保存存檔滔驾;tmp,臨時文件夾俄讹。
ipa 軟件官方的安裝方式有兩種哆致,一是在 App Store 這個軟件中下載安裝,二是用 iTunes 同步患膛。
二:關(guān)于將xcarchive后綴文件打包成ipa
我這兩個月一直在做ios的app,由于開發(fā)者賬號為企業(yè)版的摊阀,因此可以直接生成xcarchive這種后綴的安裝包(這個實際上就是一個目錄 和xcodeproj類似),安裝時需要把xcarchive改為ipa后綴,然后把這個文件拖到itunes中的本地應(yīng)用程序中胞此,再同步到ipad中臣咖。
直到上周我找到了兩種生成ipa的方法:
1.把xcarchive改為ipa后綴,然后把這個文件拖到itunes中的本地應(yīng)用程序中漱牵,然后從本地應(yīng)用程序中拖到桌面夺蛇,這時就會生成一個.ipa文件
2.手動打包:
ipa的目錄結(jié)構(gòu)是:
iTunesArtwork????????? 這個是一個512×512的png圖片,用于在itunes的應(yīng)用程序中顯示圖標(biāo)
Payload????????????????? 這個是一個目錄
xxx.app?????????????? 這個是應(yīng)用程序的可執(zhí)行程序酣胀,實際上也是一個目錄
xxx.app是從xcarchive包中找到的蚊惯,獲取方法如下:
a.把xcarchive文件后綴去掉,這時它就變成一個目錄
b.app文件就在Products/Applications 下
把文件按照上面的順序放好灵临,選中 iTunesArtwork Payload兩個文件壓縮成zip文件截型,然后把zip后綴改為ipa后綴即可.
注:該文章由網(wǎng)上文章整理所得,部分內(nèi)容直接引用網(wǎng)上內(nèi)容儒溉,由于不能找到原創(chuàng)作者宦焦,在此只作說明,并對原作者表示敬意顿涣。