如何将程序添加到 Mac 上的“打开方式”菜单?
答案1
您指的是右键单击文档时显示的子菜单吗?如果是,则它是由 Launch Services 根据您的应用程序声称能够处理的文档类型自动生成的。如果您查看应用程序包内部(右键单击应用程序,然后选择“显示包内容”),则在 Contents 文件夹中会有一个 Info.plist 文件,其中包含有关该应用程序的各种信息,包括它可以打开的一系列文档类型(请参阅 Apple 的开发文档)这里)。
TLDR;如果应用程序处理该类型的文档,它应该已经被列出;如果没有,我不知道如何手动添加它。
答案2
如果您打开要修改的文件类型的“获取信息”窗口(按住 Control 键单击 +“获取信息”或选中文件时按住⌘ command+ I),则可以将程序更改为所需的程序,然后单击“全部更改”。我发现这会修改“打开方式”菜单,因此如果您现在按住 Control 键单击并转到“打开方式”,它将显示该应用程序,因为它是新的默认应用程序。唯一的缺点是您必须将其设为默认应用程序(我尝试在此之后将其改回,但没有成功)。
这不是一个完美的解决方案,但在我的特定情况下效果足够好,并且可能对其他人有用,并且它应该比 plist 解决方案更容易/更稳定。
macOS High Sierra 10.13.5 (17F77)
答案3
如果您使用脚本编辑器或自动程序为应用程序制作 Droplet,当您想要将 Droplet 添加到“打开方式”列表中时,您可以执行以下操作:
一如既往,保存您计划修改的任何应用程序/系统文件的备份副本!
-- just in case anything goes wrong
从应用程序复制目标文件扩展名数组是在应用程序的 info.plist 文件中的“打开方式”列表中列出,然后将其粘贴到目标应用程序的 info.plist 中的 CFBundleDocumentTypes 数组中(右键单击应用程序,选择“显示包内容”)。在此示例中,我显示了在用信息文件中的几种文件类型
VLC droplet.app
替换通配符扩展名(“”)数据后信息文件的前后情况:*
VLC.app
"/Applications/VLC droplet.app/Contents/Info.plist"
:
前:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
后:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFile</key>
<string>aiff.icns</string>
<key>CFBundleTypeName</key>
<string>AIFF file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>public.aiff-audio</string>
<string>public.aifc-audio</string>
</array>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>divx</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>movie.icns</string>
<key>CFBundleTypeName</key>
<string>DivX file</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeIconFile</key>
<string>m4v.icns</string>
<key>CFBundleTypeName</key>
<string>MPEG-4 File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>public.mpeg-4-audio</string>
<string>com.apple.m4v-video</string>
<string>public.mpeg-4</string>
</array>
</dict>
</array>
- 打开终端,输入以下命令,更改
<TARGET_APP>
为您正在编辑 info.plist 的应用程序的名称,以将其添加到“打开方式”列表中:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f "/Applications/<TARGET_APP>.app/"
- 输入命令
killall Finder
强制重启 Finder。
如果应用程序已签名,则修改 Info.plist使代码签名无效。它还会导致 TextEdit 和 WriteRoom 等一些应用程序在 10.8 上启动时崩溃。
注意:我抓取了此答案的一些信息并对其进行了编辑,以使用更详细的信息/解释对其进行了更新。原始帖子位于这里。