在mac上開發我們經常會需要進行打包(package)來生成安裝文件,很自然的我們就會使用到 PackageMaker,這是 mac 自帶的,也是 xcode 推薦使用的,但不幸的是,這個PackageMake 非常不智能,也不夠人性化,導致很多新手開始使用 PackageMaker 的時候頻頻受阻,官方的 tutorial 也只有一篇,出了問題沒有一個很好的解決方式,最重要的是,使用 PackageMaker 後,很難對打包的文件(pmdoc)進行版本管理,最終讓我選擇了放棄。
經過不斷的尋找,最後終於找到了一款比較好用的打包工具 Iceberg, 現在推薦給大家,尤其是新手,勸你不要使用 PackageMaker 了,它只會給你帶來苦惱。
下載地址:http://s.sudre.free.fr/Software/files/Iceberg.dmg
官方教程:http://s.sudre.free.fr/Software/documentation/Iceberg/English.lproj/documentation/index.html
教程寫的比較詳細,所有如何安裝等我就不詳細寫了,大家如果遇到問題可以給我留言,我會給你耐心解答,我寫一下使用需要注意的幾個點:
1. 推薦使用 Iceberg 創建 mpkg 而不是 pkg, 因爲 mpkg 更方便管理。
2.如果文件安裝的路徑沒有在默認路徑中,要先把路徑創建成功後,把當前路徑設置爲 default destination,再使用add files功能;
3.如果想要把生成的components 的pkg 集成到 mpkg一個文件裏,要選擇安裝到 /contents/Resources 裏面。
另外,我主要想對比一下 PackageMaker 和 Iceberg, 以便讓大家做一個正確的選擇:
(1)guide是否全面?
PackageMaker: 比較少,不詳細,官方的有一篇:PackageMaker User Guide
Iceberg: 相對全面一些,Iceberg User Guide
(2)是否支持模塊化?
PackageMaker: 不能進行模塊化,只能一次性把所有文件打包到一個pkg中,非常不方面於多版本多模塊的管理。
Iceberg: 支持模塊化,可以把要打包的文件分成小的components,然後需要哪個component,編譯的是選擇哪個component,這樣的好處就是,如果每個版本都有不同的模塊或新功能放出去的時候,你就不會亂,不用擔心會不會出不該放出的文件。
(3)打包文件是否可以方面進行版本管理?
PackageMaker: 不方面版本管理,因爲 pmdoc 裏面的 xml文件就是一大坨,你修改了一條,就會導致所有的條目都有修改,當然,你可以每次打版本後手動對它的xml 文件tidy.
Iceberg: 比PackageMaker要好,因爲分行了,另外,由於 Iceberg 的 components 的功能,讓版本管理變得非常容易。
(3)是否經常出現crash 或莫名其妙的問題?
PackageMaker: 我這裏經常crash, 而且會出現過讓我崩潰的問題:我明明沒有選中A文件,但是打出來的pkg安裝後卻有A文件,崩潰了一天,後來放棄了。
Iceberg:用了一段時間,沒有遇見crash或詭異問題。
(4)功能比較,哪個更強大?
PackageMaker: 支持基本打包功能,比如我想加一個背景圖片什麼的就無法實現。
Iceberg: 除了支持基本打包功能,還有一些出彩的地方,這個要大家試過才知道,非常好用。
原創文章裝載請註明出處:http://blog.csdn.net/handsomerocco/