Как заставить Finder «Открыть с» работать для моего приложения (Xcode, OS X)?

Я создал приложение, способное воспроизводить аудиофайлы. Это само по себе отлично работает, как и перетаскивание из Finder в мое приложение.

Я также хотел бы, чтобы люди могли использовать мое приложение из Finder с помощью меню «Открыть с помощью» (или даже позволить им установить мое приложение по умолчанию для определенного типа файла).

После долгих поисков я обнаружил, что должен настроить тип документа в Xcode (Редактирование списков информационных свойств) Я успешно добавил такой тип с именем "Музыкальный файл" с UTI "public.mp3". щелкните файл MP3, мое приложение будет указано в меню «Открыть с помощью». При попытке использовать его мое приложение открывается, но я получаю предупреждающее сообщение о том, что «Не удалось открыть документ. Приложение не может открывать файлы в формате «Музыкальный файл»».

Похоже, что он не передается через командную строку, как в случае с Windows. Мое приложение поддерживает перетаскивание из Finder, и оно тоже работает нормально.

Я действительно не знаю, куда смотреть дальше, поэтому было бы здорово, если бы кто-нибудь мог указать мне правильное направление. Мое приложение не использует NSDocument, поэтому я думаю, что поле «Класс» для меня не применимо (и в соответствии с документами это поле не требуется, но в нем не говорится, как обращаться с ним без класса)


person Adion    schedule 08.06.2010    source источник


Ответы (1)


Реализуете ли вы application:openFile: в своем делегате приложения? Это метод, который будет вызываться, когда вашему приложению будет предложено открыть файл из Finder. Если он не реализован или не возвращает YES, то фреймворк предположит, что файл не был успешно открыт, и сообщит об этом факте пользователю.

person Alex    schedule 08.06.2010