【问题标题】:Xcode 4 Document Types and Exported UTIsXcode 4 文档类型和导出的 UTI
【发布时间】:2011-03-23 15:55:22
【问题描述】:

我在使用 Xcode 4 时遇到了另一个问题。我真的很喜欢新的 IDE,但是还有一些事情我还没有开始工作。一件事是使用 Xcode 4 注册文档类型。 我用旧方法通过 plist 文件尝试了它,但它没有用。 (意味着我无法使用我的应用打开文件)但我现在不知道如何使用 Xcode 4 的界面进行设置。

我最近的尝试是这样的:(复制了 info.plist 中 Xcode 的条目)

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.plain-text</string>
        </array>
        <key>UTTypeDescription</key>
        <string>Configuration File</string>
        <key>UTTypeIdentifier</key>
        <string>com.myname.projec.iws</string>
    </dict>
</array>

和:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array>
            <string>AnIcon-320</string>
        </array>
        <key>CFBundleTypeName</key>
        <string>Config File</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.myname.projec.iws</string>
        </array>
    </dict>
</array>

这不起作用。 Mail 中的文件没有使用我的应用打开的选项。

有没有人有 Xcode 4 的工作示例或如何做到这一点的教程。我没有任何进一步的想法如何让它工作。

桑德罗

【问题讨论】:

  • 单击左侧树中的目标,然后单击信息。您应该能够通过 Xcode 编辑条目,而不是手动调整 plist。它使您无需直接编辑 plist(作为文本或 XML)。

标签: iphone xcode xcode4 uti


【解决方案1】:

我认为缺少角色和文件扩展名。

如果要指定文件扩展名,需要添加UTTypeTagSpecification

    <key>UTExportedTypeDeclarations</key>

<array>

    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.text</string>
        </array>
        <key>UTTypeDescription</key>
        <string>my document type</string>
        <key>UTTypeIdentifier</key>
        <string>com.mycompany.myfiletypename</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>iws</string>
            </array>
        </dict>
    </dict>

对于角色,需要添加CFBundleTypeRole

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>My file</string>
        <key>CFBundleTypeIconFiles</key>
        <array>
            <string>document-320.png</string>
            <string>document-64.png</string>
        </array>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.mycompany.myfiletypename</string>

        </array>
    </dict>
</array>

【讨论】:

  • 谢谢你的回答。它适用于您的描述。但是您是否也知道,我如何通过 Xcode4 的新 GUI 来创建它?
  • 没有。我想 xcode 4 中有一个 plist 编辑器。但是对于这种修改,我更喜欢将 plist 编辑为文本文件。在 xcode 3 中,您可以右键单击 plist 文件并选择将其编辑为文本文件(或源文件)。如果您指的是 UTI 的特定编辑器,我不知道它是否存在、已经存在或将要存在。但是我很少使用它,以至于无论如何我都会忘记它。也许我已经这样做了:)
  • 是的,肯定有一个 plist 编辑器。我用那个做了它并且它有效。但在 Xcode4 中有一个图形界面。这就是我问的原因。 ;-) 感谢你的回复。 :-D
【解决方案2】:

您可以通过设置“文档类型”=>“项目 0”=>“文档操作系统类型”=>“项目 0”来编辑“com.mycompany.myfiletypename”的等效项。

默认值为“??????”您可以将其更改为“com.mycompany.myfiletypename”。

我认为其他属性不言自明。

【讨论】:

    【解决方案3】:

    我只是查看了我的旧 .plist 文件,并将键和值剪切并粘贴到从 Xcode3 版本导入的 Xcode 4 项目中的新文件中。当它出现时,它显然“丢失”了 UTI 的 .plist 中的一些信息。但是,当我从使用 Xcode3 制作的 .plist 中将丢失的键/值粘贴回来时,新值起作用并且它们出现在 GUI 中,因此您现在可以“浏览”GUI 并查看去哪里了。对 GUI 进行逆向工程,但它可以工作。

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      相关资源
      最近更新 更多