Mac OS X 下的App

基本常識

日常接觸的大部分 App實際上是一個文件夾結構,只不過Mac OS X 讓它看起來是一個單獨的文件而已。經過右鍵點擊一個 App,在菜單中選擇 Show Contents,則能夠瀏覽 App 的內部結構。緩存

  • _CodeSignature、CodeResources,通常爲 Mac App Store 上架程序所包含,裏面含有數字簽名,以防止非法篡改。安全

  • Frameworks,通常放置了此程序所使用的第三方 Framework (使用的 Apple Framework 都包含在你的系統裏),那些支持 Growl 提醒的程序,在這個文件夾下必然包含一個 Growl Framework。某種程度上,能夠理解爲 Windows 程序中的 dll 動態連接庫。app

  • Info.plist,包含了一個程序的基本信息(好比最低系統版本要求、版本號、Copyright等等標識),也可能包含程序的類型信息(好比這個文件若是含有一個 LSUIElement 而且值爲 TRUE 的片斷,則這個程序在執行後,不會在 Dock 上顯示圖標或圖標下有表示此程序正在運行的小亮點。固然,經過修改一個程序的 plist,添加 LSUIElement,則可讓一個程序運行時不在 Dock 上顯示圖標)。plist 是一個標準的 XML 文檔,能夠用任何文本編輯器修改。MacOS 文件夾則是包含了此應用程序的真正可執行文件(相似 Windows 下的 exe 文件),固然一些程序可能包含不僅一個可執行文件。PkgInfo 是一個可選的8個字節長度的文件,可保存程序類型和建立者簽名(固然這些能夠寫在 Info.plist 中),這個文件一般包含四字節的程序類型信息(一般爲 APPL)和四個字節的簽名信息(好比 System Preferences.app 的 PkgInfo 就是 APPLsprf)。編輯器

  • Resources,顧名思義,就是資源文件,包含圖標、圖片、語言包以及其它各類文件,這個沒有嚴格的限制。ui

安裝方式

安裝方式常見的有:1、拖拽一個 App 文件到 Applications 文件夾完成安裝;2、後綴爲 .pkg 文件是經過 Mac OS X Installer 解開 pkg 文件,按照 pkg 文件中的 BOM 文件的指令將 pkg 文件中的內容安裝到系統不一樣的位置上去;3、.mpkg 格式的安裝文件和 .pkg 安裝文件過程相似,只不過 .mpkg 指向的是一組 .pkg 文件的組合而已;4、經過 MacPorts 的終端安裝。插件

App 的卸載

安裝程序以前,要仔細閱讀程序提供者的資料或者 App 的說明文檔,這些文檔中,通常都會含有如何卸載 App 的指南。不少程序(好比 Adobe Creative Suite,Microsoft Office)都會帶有相應的卸載程序。XCode 這類,則會提供一個終端命令。日誌

經過 Google 搜索,通常均可以找到如何卸載程序的方法。關鍵字很簡單 Mac OS X ****(應用程序名) Uninstall / Remove,通常都會找到你想要的答案。圖片

經過第三方的卸載軟件,好比 Clean My Mac、AppZapper (光槍),均可以作到準完美卸載。ip

經過手動使用終端 find 命令,或者系統內置的 spotlight 搜索應用程序名,找到相關文件刪除進行卸載。注意觀察一個 App 的運行方式,記住一些 App 經常使用的路徑名稱,能夠幫助你完美卸載一個程序。資源

Mac OS X App 經常使用的文件夾

/Applications,這個沒必要多說,99% 的應用程序在下載後都會有一個直接提示讓你拖拽 App 到 /Applications 文件夾。其實這個不是強制的位置,大部分 App 能夠在任何權限適合的文件夾下運行。

~/Library/,用來存放用戶偏好設置、App 偏好設置、緩存、App 數據文件等。

~/Library/Preferences/,這個文件夾下是各個程序的偏好設置文件和數據記錄文件。卸載一個 App 時,這裏通常都會有一個以上的相關 plist 文件,這些 plist 文件通常以 com.(應用程序提供商).(應用程序名稱).plist 的格式出現,因此按照應用程序名稱或者提供商名稱,能夠很容易的找到應用程序遺留文件。

~/Library/LaunchAgents/ ,此文件夾通常存放一些應用程序的附加程序(好比 Folx 可以感知 Safari 下載動做,1Password 可以感知登陸輸入密碼動做),都是靠這裏的 plist 文件來配置。

~Library/Application\ Support/,通常用來存放跟應用程序相關的支持數據、應用程序的附加程序(好比 Helper 程序、插件等等)、應用程序的備份文件 (好比 MacJournal 的全部日誌備份文件等),通常都是跟應用程序(或者開發商)同名的文件夾。

~Library/Internet\ Plug-Ins/,用來放置與 Safari 有關的 App 插件。

~/Library/Contextual\ Menu\ Items/,用來放置一個 App向系統添加上下文菜單(右鍵菜單)。

~/Library/Input\ Methods/, 是此用戶安裝的輸入法程序。

~/Library/PreferencePanes/,全部第三方的系統偏好設置安裝在這裏。

~/Library/Services/,不少程序會向右鍵或者服務菜單添加項目,則它們會把菜單項拷貝到這裏。

~/Library/Widgets/,安裝過的 Dashboard Widget 小應用都會在這裏找到。

~/Library/Receipts/,不少應用程序在安裝後會在這裏留下 Receipt 存根或者 BOM 文件,對於幫助完整卸載 App 頗有幫助。一部分 ~/Library 下介紹過的文件夾在 /Library 下都可以找到相對應的目錄,區別在於 /Library表示全局級別的配置,換句話說,一樣的配置從 ~/Library 拷貝到 /Library 相應的文件夾下則會影響這個 App 在全部用戶中的運行狀態、運行方式。固然,/Library 下有 ~/Library 下不存在的文件夾,也須要注意:/Library/LaunchDaemons 文件夾的做用與/Library/LaunchAgents/ (~/Library/LaunchAgents/)相似,只不過LaunchAgents 通常表明了有用戶界面的後臺自動運行程序,而 Daemons 則表明了那些沒有用戶界面的後臺運行程序。但必定要注意,/Library 下的全部更改將會波及全部用戶,必須很是當心,不然會形成難以預料的後果。

/System/Library,是系統級別應用程序配置、數據的所在地,除非特別明白每個項目的做用,不然不要進行任何修改,一旦誤操做,將會對系統產生致命後果。

大部分符合 Apple 應用程序規範的 App,基本都會在上述文件夾中的某一些內部留下痕跡,因此只要牢記這些文件夾以及每一個文件夾的做用,手工徹底清除 App 是很是方便且安全的。

相關文章
相關標籤/搜索