Как связать тип файла .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 не работает