複製鏈接
請複製以下鏈接發送給好友

IPA

(蘋果應用程序文件格式)

鎖定
IPA是Apple程序應用文件iPhoneApplication的縮寫。簡單來説,Mac 下的軟件就像是 Windows 下的綠色軟件一樣,解壓後即可使用,不需要安裝,卸載的話也只用刪除程序文件即可(這裏不涉及 pkg 格式安裝包)。
外文名
IPA
適合平台
蘋果系統
特    點
軟件與安裝包為一體
開發公司
蘋果(Apple)

IPA定義理解

IPA是Apple程序應用文件iPhoneApplication的縮寫。
Mac 下的軟件大部分都只有一個 .app 目錄,裏面包含了程序全部資源和可執行文件。簡單來説,Mac 下的軟件就像是 Windows 下的綠色軟件一樣,解壓後即可使用,不需要安裝,卸載的話也只用刪除程序文件即可(這裏不涉及 pkg 格式安裝包)。而 ipa 格式可以視為這種 .app 軟件的衍生物。
ipa 文件實質是一個 zip壓縮包(不是 rar 或 7z 包),包含 3 個組件:payload 目錄下的 .app 目錄,這個是軟件的主程序;iTunesArtwork,實質是一個無後綴名的 png 圖片,用來在 iTunes 中顯示圖標;iTunesMetadata.plist,記錄購買者信息、售價等數據。
由於 zip 包不能記錄權限和所有者等信息,所以蘋果規定了 ipa 的安裝方式,即全部 ipa 都會解包安裝在 /var/mobile/Applications 目錄下,全部文件和目錄的所有者及用户組均設為 mobile(ID 為 501),主程序(可執行文件)的權限設為 0755 (所有人都可以執行,但只有所有者可以修改),可執行文件在 plist 中定義。全部目錄權限設為 0755,而其它所有文件都設為 0644(僅所有者可以修改,其餘人只允許讀取,全部人都不允許執行)。
ipa 解包後並非直接放置於 Applications 目錄下,而是放在一串由隨機碼構成的目錄下,其作用在於,只允許這個軟件運行在一個特定的沙盒(Sandbox)中,不能干擾其他軟件。因此那串隨機碼目錄下,除了 ipa 本身的三個組件之外,還有三個目錄:Library,一般是用了儲存設置文件等數據;Documents存儲數據,多用來保存存檔;tmp臨時文件夾
由於這個軟件只能在這個特定的目錄下運行(當然了,部分程序會調用系統的通訊錄、相機等組件,但仍然是受限制的),從而保證了整個系統的安全性和穩定性。
由於 Unix 系統下對權限的規定相當嚴格,所以“越權”的行為是絕對不允許的。舉個例子,mobile 用户無權刪除 root 所有的文件,因為 root 的權限高於 mobile。所以有些人在修改 ipa 安裝後的文件時,比如進行漢化或者修改存檔,發現不能刪除乾淨軟件,或不能保存,這是因為刪除時不能刪除 root 所有的文件,程序本身也無法對 root 所有的存檔文件進行寫入操作。

IPA軟件特點

豐富的資源:App Store 上那麼多資源,apptrackr 等網站也提供了很多破解版。完善的更新、後期服務。只能使用最小權限,保障安全性。不涉及系統級的操作,所以一般不容易造成死機或白蘋果(有些是因為資源消耗太大所以卡死)。便捷的安裝方式,無論是直接在設備上用App Store安裝,還是用 iTunes 來同步,抑或是用 Installous 和 91 這類第三方軟件來安裝,都是很方便快速的安裝方式。超級簡單的卸載方式:還有什麼比只需要點一個 X 就能卸載更簡單呢?完全刪除,不會留下任何垃圾文件(如存檔、設置文件等)總體來説破解還是比較容易的,越來越多軟件加入了防破解措施。
之前提到過,ipa 軟件是被安裝在一個類似於沙盒的環境中,除了能對 /var/mobile/Media/DCIM 目錄(拍照、截圖存放目錄)進行操作,或是調用壁紙、鈴聲、相機等組件,不能對系統進行任何干涉,這樣在最大程度上保證了系統的穩定運行,也不會干擾其它軟件的正常使用。但問題是,由於 ipa 軟件的權限很低,想要對系統進行修改,尤其是應用補丁時,ipa 就無能為力了。
ipa 軟件官方的安裝方式有兩種,一是在 App Store 這個軟件中下載安裝,二是用 iTunes 同步。
前者的問題主要是網絡問題,網速不好很容易安裝失敗;GPRS之類的上網安裝又很耗流量。後者的問題主要是不能在不同系統下使用(包含不同電腦和同一部電腦上的不同系統),在其它系統上同步會抹掉原有的軟件。當然了,iTunes 每次同步時間比較長也是經常被人詬病的。尤其是當安裝軟件比較多的時候,每次同步之前的備份需要很長很長時間,這個很噁心(不過可以直接 X 掉備份操作)。
由於以上兩種方式存在一些問題,所以很多人會選擇使用 Installous 或 91 來安裝 ipa,這也確實是個不錯的選擇。
Installous 一般沒什麼問題,但對部分驗證比較嚴格的 ipa 處理不是很好。雖然 Installous 基本能代替 iTunes,但畢竟不完全等同。最典型的就是 Installous 安裝 Microsoft 官方出的 Live Messenger (正版,非破解版)時不能運行。實際上 Installous 對很多未破解的正版軟件支持不是很好。
至於91,經常被人批評。91 雖然可以安裝 ipa,但除了 Installous 都有的正版軟件的支持問題外,由於91的安裝機制有缺陷,軟件不能實現多語言,只會使用英文界面,而忽略掉 zh_CN.lproj,zh_TW.lproj 這些語言包。這對那些用希望使用漢化版的人來説實在是一個悲劇。所以通常是要避免使用91來安裝 ipa 的。
至於卸載,三種方法:設備上按住圖標直到開始晃動,點擊圖標左上角的 X 即可卸載;於 iTunes 中取消選中,然後同步找到 /var/mobile/Applications 下的相應目錄,強行刪除整個文件夾。這個在前面兩種方法無法使用時可以採用(有時候卸載體積太大的軟件,比如超過 1G,因為刪除過程太長導致失去響應並刪除失敗。),但這種方法會造成系統的不穩定。除非是確實碰到了問題,否則強烈建議不要使用。