2011-01-09 3 views
4

Я просматривал документы, чтобы узнать, как разрешить падение на значке док-станции. Из того, что я видел, рекомендуется использовать LSItemContentTypes, поскольку CFBundleTypeOSTypes устарел. Однако я не могу заставить LSItemContentTypes работать, только с CFBundleTypeOSTypes * * будет ли он принимать капли.Drop on Dock Icon

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

Спасибо, Ник

ответ

6

Вот что я использовал в 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> 

Посмотрите в Documentation, чтобы увидеть, что каждый ключ делает точно.

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

LSItemContentTypes - это массив из UTIs. Для того, чтобы получить УИП файла, просто наберите в терминале:

mdls -name kMDItemContentType /path/to/file 

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