Как связать тип файла .x_t с приложением iOS?

Я хочу связать файлы с определенным расширением с iOS App. Я успешно связал другие типы файлов, такие как .obj,.stl и т.д., Используя ссылку: Как связать типы файлов с приложением iPhone?

Но для файлов, у которых символ подчеркивания "_" в расширении не может быть связан. Он не работает для файлов с расширением .x_t

В рекомендациях Apple UTI говорится, что https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html#//apple_ref/doc/uid/TP40001319-CH202-CHDHIJDE

Набор символов UTI. Идентификатор однородного типа - это строка Unicode который обычно содержит символы в наборе символов ASCII. Однако, разрешено только подмножество символов ASCII. Вы можете использовать Латинский алфавит в верхнем и нижнем регистре (A-Z, a-z), цифры 0 через 9, точку ( "." ) и дефис ( "-" ). Это ограничение основанные на ограничениях имен DNS, изложенные в RFC 1035.

Идентификаторы унифицированного типа могут также содержать любой Unicode символов больше U + 007F.

Важно: любой незаконный символ, появляющийся в строке UTI, для например, подчеркивание ( "_" ), двоеточие ( ":" ) или пробел ("") - вызовет строка должна быть отклонена как недопустимая UTI. На уровне API отсутствует ошибка. сгенерированный для недействительных UTI.

Итак, есть ли способ связать файлы x_t с приложением iOS?

Ответ 1

Используйте 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_t и расширение файла x_t не работает

UTI: com.you.x-t и расширение файла x-t не работает