Я уже несколько дней бьюсь об стену по этому вопросу и никак не могу понять, что я делаю неправильно (или, если это какая-то ошибка):
У меня есть пользовательское приложение Mac (на Java, если это имеет значение). По сути, он принимает пакет документов определенного типа, обрабатывает его и отправляет результаты на сервер. У меня все работает, кроме одного варианта использования, когда пользователь перетаскивает «файл» на значок дока приложения.
Все, что я прочитал до сих пор, похоже, указывает на то, что для сброса на иконке Mac Dock используются те же Launch Services, которые использует Finder. И, тем не менее, открытие каталога «Приложения» и перетаскивание на него там приложения работает, тогда как перетаскивание на значок приложения в Dock ничего не делает.
Итак, некоторые особенности того, что я пробовал до сих пор:
- Приложение обрабатывает документы с расширением * .foo, которые являются Пакетами документов (т. Е. Щелчок по нажатию на кнопку opt дает параметр «Показать содержимое пакета»)
- Документ имеет UTI org.example.foo, который соответствует UTI com.apple.package и public.composite-content (вся информация скопирована из приложения-владельца Info.plist Ключ экспортированного типа UTIs)
- Info.plist объявляет этот тип документа в UTI импортированного типа (ключ UTImportedTypeDeclarations)
- Также в Info.plist UTI объявлен в типах документов (ключ CFBundleDocumentTypes)
- CFBundleTypeExtensions включает «foo»
- CFBundleTypeOSTypes установлен в "****"
Cmd-Opt-drop на значке Dock (чтобы вызвать сброс) ничего не делает. Удаление в Finder работает точно так, как и ожидалось. Так что, похоже, это проблема с падением иконки Dock.
Есть идеи, что менять?