Как resourceValues ​​URL (forKeys: [.typeIdentifierKey]) определяет UTI?

У меня есть URLи я звоню resourceValues(forKeys: [.typeIdentifierKey]) на нем, чтобы узнать ИМП, которым он соответствует. Работает отлично.

Этот метод просто проверяет, является ли это каталогом (как с stat(2), чтобы сообщить "public.folder"), и если это не каталог, расширение имени файла (и если нет, то просто "public.data", "public.item")?

Кажется, это так, но я не могу найти документацию, в которой точно сказано, как она определяет тип.

Обоснование: у меня есть куча URL-адресов, чьи UTI я хочу проверить по известному значению, и я знаю, что они не являются папками, поэтому я мог бы сэкономить кучу вызовов ввода-вывода, если бы был уверен, что это все, что это метод делает.

ОБНОВЛЕНИЕ: я посмотрел в swift-corelibs-foundation/URL.swift, но он просто проходит через метод NSURL с тем же именем. Метод swift-corelibs-foundation/NSURL.swift просто выбрасывает NSUnimplemented(). Я попытался посмотреть в CFLite, в котором есть реализация CFURL, но я не могу найти там ничего, связанного с UTI. AFAICT, нет открытой реализации этого метода от Apple.

0 ответов

Другие вопросы по тегам