Как найти файл UTI для файла, с узлом pathExtension, в пути в Swift

Я пытался преобразовать этот код, который у меня был из этого примера (в Objective-c), без везения.

String *path; // contains the file path // Get the UTI from the file's extension: CFStringRef pathExtension = (__bridge_retained CFStringRef)[path pathExtension]; CFStringRef type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL); CFRelease(pathExtension); // The UTI can be converted to a mime type: NSString *mimeType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType); if (type != NULL) CFRelease(type); 

Мой код – это

  import MobileCoreServices let path: String? let pathExt = path.pathExtension as CFStringRef let type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL); let mimeType = UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType) if type != Null CFRelease(type) 

Все, что я хочу сделать, это выяснить, является ли файл изображением или видеофайлом

One Solution collect form web for “Как найти файл UTI для файла, с узлом pathExtension, в пути в Swift”

Вы можете использовать метод URL getResourceValue чтобы получить файл URL TypeIdentifierKey который возвращает идентификатор однородного типа файла (UTI). Вам просто нужно проверить, является ли возвращаемое значение «com.apple.m4v-video» для видео, «public.jpeg» или «public.png» для изображений и т. Д. Вы можете добавить расширение свойства typeIdentifier в URL, чтобы вернуть строковое значение TypeIdentifierKey следующим образом:

Xcode 9 • Swift 4 или Xcode 8.3.2 • Swift 3.1

 extension URL { var typeIdentifier: String? { return (try? resourceValues(forKeys: [.typeIdentifierKey]))?.typeIdentifier } var localizedName: String? { return (try? resourceValues(forKeys: [.localizedNameKey]))?.localizedName } } 
  • UIButton не показывает текст в iOS6
  • Добавить учетную запись разработчика iOS из командной строки
  • Xcode 5.1 очень медленный, чтобы создавать и запускать на iPad Air
  • iOS - Ошибка: это действие не может быть выполнено. Повторите попытку (-22421)
  • Изменить UIImage renderingMode из файла раскадровки / xib
  • Что делает выходной файл Main.1 в XCode?
  • Содержимое ячейки статической таблицы не отображается iOS 9
  • Расширение UITableViewCell
  • Могу ли я создать статическую библиотеку для iOS без использования Xcode IDE?
  • Xcode 4.3.2 Кнопка IBAction Thread 1: Ошибка точки останова 1.1
  • XCode 8 GM Seed - Ошибка при загрузке в TestFlight
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.