Установить файловую ассоциацию по умолчанию Mac OS X Java Package Maker Installer - PullRequest
2 голосов
/ 22 сентября 2009

У меня два вопроса о Package Maker на Leopard. Я установил Xcode 3.1.4. Я экспортировал свое приложение Java из Eclipse в комплект приложений и сделал для него программу установки. Я мало знаю о Mac, поэтому сейчас я ухожу от случайных сайтов о том, как использовать этот инструмент.

1) Есть ли способ с помощью Package Maker или изменить "Info.plist", чтобы зарегистрировать конкретное расширение файла для вашего приложения по умолчанию, когда оно установлено? Прямо сейчас выдается «Нет приложения по умолчанию, указанного для открытия этого документа».

2) Где по умолчанию установлена ​​программа на HD? Я попытался выполнить установку с настройкой «Том выбранный пользователем», а также «Домашний каталог пользователя», и я нигде не могу найти свое приложение.

Программа сказала, что успешно установлена, но в каталоге "/ Applications" или в каталоге "/ Users / Username /" ничего нет. Я вижу спецификацию в каталоге "/ Library / Reciepts / boms /", но папка приложения с пакетом приложений отсутствует.

ОБНОВЛЕНИЕ: Этот вопрос завершен. Часть 1 Я отправил свой ответ ниже, а на часть 2 ответил Нейт.

Ответы [ 3 ]

1 голос
/ 22 сентября 2009

Может быть, эта тема может помочь по вопросу 2:

http://lists.apple.com/archives/installer-dev/2009/Sep/msg00036.html

0 голосов
/ 18 октября 2009

Также см. Мой вопрос для получения дополнительной документации и уточнений:

Дважды щелкните файл документа в Mac OS X, чтобы открыть приложение Java

Я также использовал Spotlight для поиска и удаления всех старых версий моей программы для более чистой среды тестирования.

0 голосов
/ 23 сентября 2009

Вот ответ на часть 1 моего поста выше, а часть 2 была решена с помощью ссылки от Нейта в другом ответе.

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

<key>CFBundleDocumentTypes</key>
        <array>
            <dict>
                    <key>CFBundleTypeExtensions</key>
                    <array>
                        <!-- Enter as "txt" for example, not ".txt" -->
                    <string>yourExtension1</string>
                        <string>yourExtension2</string>
                    </array>
                    <key>CFBundleTypeName</key>
                    <string>YourType document</string>
                    <key>CFBundleTypeRole</key>
                    <string>Viewer</string>

            <!-- The LSItemContentTypes key is ignored in Mac OS X v10.4 because it’s introduced in 10.5. -->
                    <key>LSItemContentTypes</key>
                    <array>
                        <string>public.archive</string>
                        <string>public.data</string>
                        <string>public.content</string>
                    </array>

                    <!-- The NSExportableTypes key is ignored in Mac OS X 10.4 -->
                    <key>NSExportableTypes</key>
                    <array>
                        <string>public.archive</string>
                        <string>public.data</string>
                        <string>public.content</string>
                    </array>

            <!-- The LSHandlerRank key is ignored in Mac OS X 10.4 -->
            <key>LSHandlerRank</key>
            <string>Owner</string>
            </dict>
         </array>

<key>UTExportedTypeDeclarations</key>
    <array>

        <dict>
            <key>UTTypeIdentifier</key>
            <string>public.archive</string>
            <key>UTTypeReferenceURL</key>
            <string>http://www.yourSite.com</string>
            <key>UTTypeDescription</key>
            <string>yourType Document</string>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.content</string>
                <string>public.data</string>
                <string>public.archive</string>
            </array>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>com.apple.ostype</key>
                <string>public.archive</string>
                <key>public.filename-extension</key>
                <array>
                    <string>yourExtension1</string>
                    <string>yourExtension2</string>
                </array>
            </dict>
        </dict>
    </array>
...