如何将文件类型.x_t与iOS应用程序关联?

如何将文件类型.x_t与iOS应用程序关联?,ios,iphone,Ios,Iphone,我想将具有特定扩展名的文件与iOS应用程序关联。我已使用链接成功关联了其他文件类型,如.obj、.stl等: 但是,对于扩展名中带有uu下划线的文件,无法关联。扩展名为.x\t的文件失败 苹果UTI指南说 统一类型标识符的UTI字符集是Unicode字符串 通常包含ASCII字符集中的字符。然而 仅允许ASCII字符的子集。你可以使用 大写和小写的罗马字母A–Z,A–Z,数字0 到9,点“.”,连字符“-”。这项限制是不公平的 基于RFC 1035中规定的DNS名称限制 统一类型标识符也可以

我想将具有特定扩展名的文件与iOS应用程序关联。我已使用链接成功关联了其他文件类型,如.obj、.stl等:

但是,对于扩展名中带有uu下划线的文件,无法关联。扩展名为.x\t的文件失败

苹果UTI指南说

统一类型标识符的UTI字符集是Unicode字符串 通常包含ASCII字符集中的字符。然而 仅允许ASCII字符的子集。你可以使用 大写和小写的罗马字母A–Z,A–Z,数字0 到9,点“.”,连字符“-”。这项限制是不公平的 基于RFC 1035中规定的DNS名称限制

统一类型标识符也可以包含任何Unicode 大于U+007F的字符

重要提示:在的UTI字符串中出现的任何非法字符 例如,下划线、冒号或空格将导致 要作为无效UTI拒绝的字符串。在API层,不会出现任何错误 为无效的UTI生成


那么,有没有办法将x_t文件与iOS应用程序相关联?

使用UTI作为com.you.x-t,文件扩展名作为x_t

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array>
        </array>
        <key>CFBundleTypeName</key>
        <string>x_t file</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.you.x-t</string>
        </array>
    </dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.item</string>
        </array>
        <key>UTTypeDescription</key>
        <string>x_t files</string>
        <key>UTTypeIdentifier</key>
        <string>com.you.x-t</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>x_t</string>
        </dict>
    </dict>
</array>
UTI:com.you.x\u t&文件扩展名x\u t不工作


UTI:com.you.x-t&文件扩展名x-t不起作用

UTI字符集指的是UTI,而不是文件扩展名。您不能使用例如com.You.x\t的UTI,但您应该能够为if设置x\t的文件扩展名。对于UTI,您可以使用com.you.x-t。