Как заставить Finder 'Open With' работать для моего приложения (XCode, OS X)? - PullRequest
5 голосов
/ 08 июня 2010

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

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

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

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

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

1 Ответ

9 голосов
/ 08 июня 2010

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

...