инверсия LSGetApplicationForItem - PullRequest
0 голосов
/ 25 января 2012

Я пишу приложение для просмотра изображений, которое мне нужно установить в качестве приложения по умолчанию для файлов jpeg / gif.Существует API LSGetApplicationForItem / Info для получения информации о том, что является приложением по умолчанию.Но я не могу найти API, где я могу установить свое приложение в качестве программы просмотра файлов изображений по умолчанию.

Не могли бы вы помочь

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Вы хотите функцию LSSetDefaultRoleHandlerForContentType .Передайте kUTTypeGIF для GIF, kUTTypeJPEG для JPEG.

Пожалуйста, делайте это только тогда, когда пользователь явно говорит вам об этом.В противном случае они будут вас ненавидеть.

0 голосов
/ 26 января 2012

Насколько я знаю, нет публичного API для этого.Вместо этого вы регистрируете, используя Info.plist (или раздел «Типы документов» редактора Info в Xcode), что вы являетесь поставщиком для просмотра и / или редактирования любых типов файлов, которые вас интересуют. Это заставит систему выбиратьваше приложение, если нет другого приложения, которое может открыть эти типы файлов и запустит вас в работу, если пользователь выберет Открыть с помощью контекстного меню при выборе файла в Finder.

...