Перетащите значок в док-станцию

Я просматривал документы, чтобы найти, как разрешить опускание значка дока. Из того, что я видел, рекомендуется использовать LSItemContentTypes, поскольку CFBundleTypeOSTypes устарел. Однако я не могу заставить LSItemContentTypes работать, только если CFBundleTypeOSTypes имеет значение **, ​​он будет принимать капли.

Как я могу сделать это не устаревшим способом?

Спасибо, Ник


person Nick Paulson    schedule 09.01.2011    source источник


Ответы (1)


Вот что я использовал в Info.plist моего приложения, чтобы заставить его работать:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>SomeName</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>None</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.mp3</string>
        </array>
    </dict>
</array>

Взгляните на Документация, чтобы увидеть, что именно делает каждый ключ.

Требуются CFBundleTypeName и CFBundleTypeRole.

LSItemContentTypes — это массив ИМП. Чтобы получить UTI файла, просто введите это в Терминале:

mdls -name kMDItemContentType /path/to/file

Не забудьте настроить CFBundleTypeRole и LSHandlerRank в соответствии с вашими потребностями.

person inket    schedule 17.04.2011