【问题标题】:Document Types vs. Exported and Imported UTIs文档类型与导出和导入的 UTI
【发布时间】:2014-09-17 10:38:35
【问题描述】:

谁能向我解释 Xcode 5.1 中文档类型、导出的 UTI 和导入的 UTI 之间的区别?我希望能够让我的应用程序根据文件扩展名自动检测文件类型。为了做到这一点,我需要实施这三个中的哪一个?

【问题讨论】:

    标签: xcode document file-type uti


    【解决方案1】:

    你添加一个文档类型来注册你的应用可以打开那个文档类型,当你选择a known file type这很简单,但是如果文件类型未知,你也必须定义它导入的尿路感染。如果您要定义自己的文件类型,则必须在 Exported UTIs 中声明它并添加该 Document Type 才能打开它。

    例子:

    我想打开一个已知文件类型的 PDF,所以我只需在 Document Types 中注册它。

    我想打开一个 EPUB,它不是一个已知的文件类型,所以我在 Imported UTIsDocument Types 中注册它。

    我想打开并注册一个我有权威的类型,所以我在Exported UTIsDocument Types中注册它。

    关于您的第二个问题,请注意,使用 Document Type 定义类型将使您的应用出现在“打开方式”对话框中,但不一定会使您的应用区分您的应用接收的文件类型,你必须自己处理。例如,假设您的应用程序是图像编辑器,并且您注册了 png 和 jpeg 类型,当用户想要编辑图像时,您的应用程序将接收文件但它不会自动检测哪种类型,您必须处理文件并响应它的任何类型。

    一些相关链接:

    A related Question.

    A very good but old tutorial on this topic

    【讨论】:

    • 请问,如果我的应用程序是文件的唯一生产者,您知道该怎么做吗?我的应用程序无法读取(打开)该文件,但它会生成(创建)它以用于我的嵌入式应用程序扩展。我的方案工作正常,但我无法强制 ios 显示与文件关联的图标...
    • @user3441734:嗯,我还没有开发出像你描述的那样的东西,但是,如果你唯一的问题是文件图标没有出现,我建议你检查一下导出 UTis 菜单,并检查您是否在小图标和大图标字段中为您的文件类型选择了相应的图标。如果您这样做了但图标仍然没有出现,那么我认为您应该提出一个新问题并向我们提供有关您的应用的更多详细信息。
    • 我有两个导出的 UTI(大小合适的小图标和大图标)。我只有一种文档类型(我的应用程序可以读取的文件)。我的应用程序扩展可以读取第二个。一切正常,正如预期的那样。缺少的部分是导出的 UTI 的图标,这是未知的(电子邮件附件中没有文件的图标,即使您可以使用我的应用程序扩展从电子邮件操作菜单打开文件)
    • @user3441734 好的,我建议你看看this question,根据那里接受的答案,你应该把图标名称放在 CFBundleDocumentTypes 数组中的 CFBundleTypeIconFile 键中,而不是放在 UTExportedTypeDeclarations 数组中.另外也许值得注意的是,该问题中的 OP 使用 icns 文件类型作为他的图标,您也应该使用该类型。
    • 你救了我的命。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 2017-12-16
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2016-12-18
    相关资源
    最近更新 更多