Общий вопрос: когда я не владею определенным файловым форматом, но UTI не был определен для него кем-то другим, как использовать этот формат файла?
Конкретная ситуация: я создаю плагин QuickLook для файлов .torrent и .nzb. (Примечание: файлы .nzb похожи на файлы .torrent, за исключением того, что вместо указания на трекер bittorrent они указывают на сервер Usenet.) Я хочу, чтобы плагин показывал, какие данные указывает файл .nzb/.torrent, какие файлы будут загружены, если они будут открыты, и любые другие применимые метаданные. Для этого я должен указать Uniform Type Identifiers для этих двух типов файлов. В то время как файлы .torrent имеют назначенный UTI для файлов com.bittorrent.torrent,.nzb - формат NZB определяемый newzbin.com, который не публикует собственное приложение (и поэтому не определяет унифицированный идентификатор типа Mac OS X для меня).
Возможные варианты:
- Экспортируйте и используйте UTI в виде com.example.nzb, где example.com принадлежит мне. Это кажется неправильным, потому что у меня нет формата nzb.
- Экспортируйте и используйте UTI в виде com.newzbin.nzb, где newzbin.com не принадлежит мне. Это кажется неправильным, потому что у меня нет newzbin.com.
- Сделайте, например. Unison (приложение Mac OS X) выполняет и полностью игнорирует UTI и использует
CFBundleTypeExtensionsв моем файлеInfo.plist. Это тоже кажется неправильным, потому что не толькоCFBundleTypeExtensionsустарел на документацию Apple, но я не думаю, что могу использоватьCFBundleTypeExtensionsиLSBundleContentTypes(если присутствуетLSBundleContentTypes, так как это должно быть для меня использовать com.bittorrent.torrent UTI, тоCFBundleTypeExtensionsигнорируется).
Какая правильная вещь в этой ситуации?
