如何在 Mac 的“打开方式”菜单中添加程序

如何在 Mac 的“打开方式”菜单中添加程序

如何将程序添加到 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 添加到“打开方式”列表中时,您可以执行以下操作:

  1. 一如既往,保存您计划修改的任何应用程序/系统文件的备份副本! -- just in case anything goes wrong

  2. 从应用程序复制目标文件扩展名数组在应用程序的 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>
  1. 打开终端,输入以下命令,更改<TARGET_APP>为您正在编辑 info.plist 的应用程序的名称,以将其添加到“打开方式”列表中:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f "/Applications/<TARGET_APP>.app/"

  1. 输入命令killall Finder强制重启 Finder。

如果应用程序已签名,则修改 Info.plist使代码签名无效。它还会导致 TextEdit 和 WriteRoom 等一些应用程序在 10.8 上启动时崩溃。

注意:我抓取了此答案的一些信息并对其进行了编辑,以使用更详细的信息/解释对其进行了更新。原始帖子位于这里

相关内容