mmx*_*mmx 27 mac osx-leopard file-association macos
我知道有一个系统首选项窗格可以手动修改 Mac OS X Leopard 中的文件关联。但是,我很好奇 Leopard 实际上将这些信息存储在哪里?
我对改变它们的方法不感兴趣。我想知道存储这些映射的配置文件或数据库(如 Windows 中的注册表)。
Dou*_*ris 22
OS X 使用“默认”系统——这是一篇包含大量示例的好文章。这些文件存储在 ~/Library/Preferences 下,但最好使用“defaults”命令进行操作,而不是直接编辑 plist。
文件关联存储在 com.apple.LaunchServices 域下。从上面的链接中,您可以使用以下命令查看列表:
defaults read com.apple.LaunchServices | grep -v LSBundleLocator
Run Code Online (Sandbox Code Playgroud)
有关 Launch Services 的更多信息,可以在 Apple 的Launch Services Programming Guide 中找到
too*_*r74 20
@Doug Harris 的回答只是部分正确。默认系统存储您对文件关联的本地添加或覆盖。但是,OS X 带有一些默认的、系统范围的关联。
如果您运行,lsregister -dump您将看到 Launch Services 调用的内容CoreTypes以及它找到的应用程序提供的关联。
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
Run Code Online (Sandbox Code Playgroud)
我还没有彻底扫描输出。该转储中可能还有其他来源,但这些类型中的大量来自/System/Library/CoreServices/CoreTypes.bundle. 那里可能有一个纯文本或 plist 文件,其中枚举了类型。我相信这些关联来自在已知应用程序位置扫描 *.app 的内容。Launch Services 认为 TextWrangler 是众多文件类型的编辑器:
--------------------------------------------------------------------------------
bundle id: 10928
path: /Applications/TextWrangler.app
name: TextWrangler
identifier: com.barebones.textwrangler (0x8000008d)
...
library items:
--------------------------------------------------------
claim id: 20216
name: TextWrangler text document
rank: Default
roles: Editor
flags: relative-icon-path
icon: Contents/Resources/TextWranglerTextDoc.icns
bindings: .a, .asm, .asp, .bashrc, .c, .c++, .cc, .cfm, .conf, .cp, .cpp, .cshrc, .css, .cxx, .equ, .f, .f77, .for, .ftn, .h, .h++, .hpp, .htm, .html, .inc, .j, .java, .js, .jsp, .log, .m, .mm, .p, .pas, .pch, .pch++, .php, .php3, .pl, .plist, .plx, .pm, .ppu, .r, .rb, .rez, .rhtml, .rss, .s, .sql, .shtm, .shtml, .tcl, .tcshrc, .text, .txt, .wml, .xhtml, .xml, .xsl, .xslt, .yaml, 'TEXT'
...
Run Code Online (Sandbox Code Playgroud)
NSG*_*God 14
抱歉,这个问题很老了,但答案确实是错误的。
正如 toolbear 所提到的,Doug Harris 的回答只是部分正确。
该发射服务数据库文件,这就是所有的信息,所有已知的应用和类型的,他们可以处理文件存储,位于以下位置:
狮子:
/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-034501.csstore
雪豹:
/private/var/folders/**/**/-Caches-/com.apple.LaunchServices-025501.csstore
豹:
/Library/Caches/com.apple.LaunchServices-023501.csstore
该/private/var/folders/文件夹是存储每个用户的“安全”缓存和临时文件夹的地方。上面显示的路径中的 ** 将类似于/dl/dlXWtS5WH9SNboPxxrDIyE+++TI/,或另一个模糊的字符序列,以防止猜测。
请注意,名称com.apple.LaunchServices-025501.csstore由501附加到-025后缀的用户 ID(我的是)组成,这是 Snow Leopard 独有的。(在 OS X 的每个版本中,Apple 倾向于更改用于防止不同版本 OS X 之间的兼容性问题的区分后缀。您会注意到 Leopard 使用了-023)。狮子正在使用 -034后缀。
| 归档时间: |
|
| 查看次数: |
43672 次 |
| 最近记录: |