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 是很是方便且安全的。

相关文章
相关标签/搜索