2011-01-09 65 views
4

我正在查看文檔以查找如何允許放在停靠欄圖標上。根據我所見,建議您使用LSItemContentTypes,因爲不建議使用CFBundleTypeOSTypes。但是,我無法使LSItemContentTypes正常工作,只有CFBundleTypeOSTypes是* *纔會接受丟棄。Drop on Dock圖標

我該如何以非棄用的方式做到這一點?

感謝, 尼克

回答

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 and CFBundleTypeRole是必需的。

LSItemContentTypesUTIs的數組。爲了得到一個文件的UTI,在終端只需鍵入此:

mdls -name kMDItemContentType /path/to/file 

不要忘記調整CFBundleTypeRoleLSHandlerRank,以滿足您的需求。