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