Открытие поддерживаемых типов файлов в MacOS .app, использующем скрипт - PullRequest
0 голосов
/ 13 декабря 2018

Я создал Sanitized.app, который определяет пользовательский UTI в plist и установил соответствующую файловую ассоциацию.Исполняемый файл приложения представляет собой bash-скрипт, и когда я пытаюсь открыть файл, соответствующий пользовательскому UTI, скрипт выполняется.Тем не менее, я не могу получить информацию о файле, который должен обрабатывать!Я ожидал, что это будет аргумент для исполняемого файла, но все, что я получаю, это значение -psi *. Мне нужен путь к файлу, который пользователь пытается открыть / просмотреть / отредактировать / и т.д. ....

Я прочитал документацию по этого разработчика Applepage , но это не работает для скриптов bash.Это возможно?Вот мой список:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>UTExportedTypeDeclarations</key>
        <array>
            <dict>
                <key>UTTypeIdentifier</key>
                <string>public.myext</string>
                <key>UTTypeReferenceURL</key>
                <string>https://com.company.some</string>
                <key>UTTypeDescription</key>
                <string>Sanitized Description</string>
                <key>UTTypeIconFile</key>
                <string>Sanitized.icns</string>
                <key>UTTypeConformsTo</key>
                <array>
                    <string>public.data</string>
                </array>
                <key>UTTypeTagSpecification</key>
                <dict>
                    <key>com.company.some.myext</key>
                    <string>MYEXT</string>
                    <key>public.filename-extension</key>
                    <array>
                        <string>myext</string>
                    </array>
                    <key>public.mime-type</key>
                    <string>application/vnd.myext</string>
                </dict>
            </dict>
        </array>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
        <key>CFBundleExecutable</key>
        <string>Sanitized</string>
        <key>CFBundleIdentifier</key>
        <string>com.company.some.myext</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
        <string>Sanitized Title</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleVersion</key>
        <string>1.2.3.4</string>
        <key>CFBundleShortVersionString</key>
        <string>1.2.3.4</string>
        <key>CFBundleAllowMixedLocalizations</key>
        <string>true</string>
        <key>NSHighResolutionCapable</key>
        <string>true</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleIconFile</key>
        <string>Sanitized.icns</string>
        <key>CFBundleDocumentTypes</key>
        <array>
            <dict>
                <key>CFBundleTypeRole</key>
                <string>Editor</string>
                <key>LSHandlerRank</key>
                <string>Owner</string>
                <key>LSItemContentTypes</key>
                <array>
                    <string>public.myext</string>
                </array>
            </dict>
            <dict>
                <key>CFBundleTypeExtensions</key>
                <array>
                    <string>myext</string>
                </array>
                <key>CFBundleTypeIconFile</key>
                <string>Sanitized.icns</string>
                <key>CFBundleTypeName</key>
                <string>Sanitized Description</string>
            </dict>
        </array>
    </dict>
</plist>

На данный момент скрипт "Sanitized" выглядит так:

#!/bin/bash
echo $@

Я что-то не так делаю или это просто невозможно?Я хотел бы избежать создания проекта XCode только для этой крошечной возможности.

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