2011-01-09 8 views
4

ドックアイコンをドロップする方法を見つけるためにドキュメントを探していました。私が見たことから、CFBundleTypeOSTypesは非推奨であるため、LSItemContentTypesを使用することをお勧めします。しかし、私はLSItemContentTypesを動作させることはできません。CFBundleTypeOSTypesが* *の場合にのみドロップを受け入れます。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およびCFBundleTypeRoleが必要です。

LSItemContentTypesUTIsの配列です。ファイルのUTIを取得するには、ちょうどターミナルで次のように入力します。

mdls -name kMDItemContentType /path/to/file 

ことはあなたのニーズを満たすためにCFBundleTypeRoleLSHandlerRankを調整することを忘れないでください。

関連する問題