Инверсия LSGetApplicationForItem
Я пишу приложение для просмотра изображений, которое мне нужно установить в качестве приложения по умолчанию для файлов jpeg/gif. Существует API LSGetApplicationForItem/Info для получения информации о том, что является приложением по умолчанию. Но я не могу найти API, где я могу установить свое приложение в качестве программы просмотра файлов изображений по умолчанию.
Можете ли вы помочь
2 ответа
Вы хотите LSSetDefaultRoleHandlerForContentType
функция Проходить kUTTypeGIF
для GIF, kUTTypeJPEG
для JPEG.
Пожалуйста, делайте это только тогда, когда пользователь явно говорит вам об этом. В противном случае они будут ненавидеть тебя.
Насколько я знаю, для этого нет публичного API. Вместо этого вы регистрируете, используя Info.plist (или раздел "Типы документов" редактора Info в XCode), что вы являетесь поставщиком для просмотра и / или редактирования любых типов файлов, которые вас интересуют. Это заставит систему выбирать ваше приложение, если нет другого приложения, которое может открыть эти типы файлов, и запустит вас, если пользователь выберет Открыть с помощью контекстного меню при выборе файла в Finder.