2016-05-28 13 views

答えて

2

他の方法もありますが、MobileCoreServicesが提供する統一タイプ識別子(UTI)サービスを使用する方法もあります。

import MobileCoreServices 

拡張子だけのUTIに関連した説明を取得:

if let uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, nil)?.takeRetainedValue(), let description = UTTypeCopyDescription(uti)?.takeRetainedValue() { 
    print(description) 
} 

ファイル・システム・プログラミング・ガイドのHow the System Identifies the Type of Content in a Fileを参照してください。

+0

いいえ。これは、 'dae'ファイルの場合は' org.khronos.collada.digital.asset.exchange'、それが識別できないファイルの場合は 'dyn.age8402k'を示しています。私はそれがほぼそこにあると思いますが、まだありません。 – SpaceDog

+0

まず、 'org.khronos ...'はUTIです。上記のように 'UTTypeCopyDescription'でそのUTIの記述を取得すると、「Digital Asset Exchange(DAE)」の説明があります。第二に、「年齢8402k」の延長について、あなたは何を見せたいと思いましたか?これは、UTIがデバイスに登録されている拡張機能のようには聞こえません。また、Mac OSにUTIが登録されている可能性がありますので、iOSに登録されていない可能性がありますので、その2つを混同しないでください。 – Rob

+0

あなたは正しいです。私のシステムに間違った方法を呼び出すバグがありました。これで、正しい説明が表示されます。ありがとう、あなたは素晴らしいです! – SpaceDog

関連する問題