注册应用程序以打开图像文件

Posted

技术标签:

【中文标题】注册应用程序以打开图像文件【英文标题】:Register app to open image files 【发布时间】:2012-02-28 12:02:02 【问题描述】:

通过在我的 info.plist 中包含以下内容,我已成功注册我的应用以打开 PDF 文件:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PDF</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.adobe.pdf</string>
        </array>
    </dict>
</array>

但是,我似乎无法注册我的应用程序以打开任何图像文件,我不仅尝试注册基本图像 UTI,还尝试注册特定类型,如 png 和 jpg。是否可以注册打开图片文件?

【问题讨论】:

【参考方案1】:

坏消息 - 无法完成。希望这些事情能在文档中说明。

【讨论】:

【参考方案2】:

使用源代码打开 plist 并将其添加到文档中。

<dict>
            <key>CFBundleTypeName</key>
            <string>All Files</string>
            <key>CFBundleTypeIconFiles</key>
            <array/>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.data</string>
                <string>public.content</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
        </dict>

我希望这对你有用。

【讨论】:

【参考方案3】:

使用编辑器打开 plist...

大小写等很关键,建议同时指定小写和大写文件扩展名。

<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>jpg</string>
<string>JPG</string>
</array>
<key>CFBundleTypeName</key>
<string>Images</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>

然后保存文件。现在应该注册应用来处理这种类型的文件。

【讨论】:

以上是关于注册应用程序以打开图像文件的主要内容,如果未能解决你的问题,请参考以下文章

从我的 Android 应用程序以编程方式打开选定的文件(图像、pdf、...)?

Cordova 将文件类型注册为“打开方式”列表

在 chromebook/chrome 操作系统上注册 Android 应用程序的协议处理程序以打开外部链接?

如何注册应用程序以响应自定义 URL 方案打开请求?

右键文件夹打开vscode 找不到应用程序

如何寻找程序在注册表中的位置