Mac: Как назначить расширение файла для открытия с помощью моего приложения Java .app? - PullRequest
2 голосов
/ 01 ноября 2011

Я создал приложение Java и создал из него файл Mac .app для простого запуска в Mac OS X. Приложение может создавать специальные файлы проекта и сохранять их с расширением * .ksdi, чтобы пользователь мог легко запустить этот проект.снова файлы и отредактируйте их.

Я бы хотел, чтобы пользователь, установивший приложение на своем Mac, мог дважды щелкнуть эти * .ksdi файлы, чтобы автоматически запустить программу и автоматически загрузить проект.файл.Как я могу это сделать в Mac?

Можно ли назначить расширение для моей программы Mac с помощью сценария или чего-то подобного, чтобы пользователю не пришлось назначать расширение для программы вручную?

Обновление: пробное решение:

Я прочитал в другом посте, что для этого мне нужно добавить ключ в файл * .plist, поэтому я добавил к нему:

<plist>
    <dict>
        <key>CFBundleDocumentTypes</key>
        <array>
            <dict>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>

                <key>LSIsAppleDefaultForType</key>
                <true/>

                <key>LSItemContentTypes</key>
                <array>
                    <string>public.ksdi</string>
                </array>
            </dict>
        </array>
    </dict>
</plist>

Я сохранил файл plist, но не знаю, как это активировать!Я запустил приложение, перезапустил мой Mac, но все равно при двойном щелчке по любому файлу ksdi он не открывается программой ... Любая помощь?

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

Я делаю это, используя Install4J , они делают это действительно просто.

(кстати, я не связан с Install4j или компанией).

0 голосов
/ 02 ноября 2011

Согласно одному из вопросов " точная копия ".

Регистрация приложений

Все приложения, доступные в системе пользователядолжны быть зарегистрированы, чтобы сделать их известными Launch Services и скопировать их документную привязку и другую информацию в свою базу данных.Обычно нет необходимости выполнять эту задачу в явном виде, поскольку различные утилиты и службы, встроенные в системное программное обеспечение Mac OS X, позаботятся об этом автоматически:

Встроенный фоновый инструмент, запускаемый всякий раз, когда системазагружается или новый пользователь входит в систему, автоматически ищет папки «Приложения» в системном, сетевом, локальном и пользовательском доменах и регистрирует любые новые приложения, которые он там находит.(Эта операция аналогична «восстановлению рабочего стола» в более ранних версиях Mac OS.) Средство поиска автоматически регистрирует все приложения по мере их обнаружения, например, когда они перетаскиваются на диск пользователя или когда пользователь перемещается в папкусодержащие их.Когда пользователь пытается открыть документ, для которого в базе данных Launch Services не найдено предпочтительного приложения, Finder открывает диалоговое окно с просьбой выбрать приложение для открытия документа.Затем он регистрирует это приложение перед его запуском.

Несмотря на эти утилиты автоматической регистрации, иногда может потребоваться явно зарегистрировать приложение в Launch Services.Например, хотя разработчикам рекомендуется упаковать свои приложения, чтобы их можно было установить, просто перетащив их на диск пользователя, для некоторых приложений может потребоваться более сложное программное обеспечение для пользовательской установки.В таких случаях установщик должен вызвать одну из функций регистрации Launch Services LSRegisterFSRef или LSRegisterURL для явной регистрации приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...