サード パーティのオープン ソース ライブラリVSTGUIの Cocoa NSOpenPanel は、実行権限が設定されているファイルを無効にします。exec ビットは必要ありませんが、Windows で作成され、OS X にダウンロードされたファイルに設定されることがよくあります。
ライブラリはbeginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:
、パネルを表示するために使用します。指定されたtypes
パラメーターは、単純な拡張ベースの UTI を持つシングルトン配列です。パネルがこれらのファイルを許可しない原因は何ですか? また、その動作はどこでどのように構成できますか?
メソッドが非推奨であるか、非推奨であることは承知していますが、現在はこれに固執しているようです。私は OS X 10.8 を使用しており、Xcode の展開ターゲットは 10.5 です。
編集:
ここで使用される UTI は、関数で作成されます。
CFStringRef UTTypeCreatePreferredIdentifierForTag(CFStringRef inTagClass,
CFStringRef inTag,
CFStringRef inConformingToUTI)
kUTTagClassFilenameExtension
as 、inTagClass
目的の拡張子 asinTag
およびkUTTypeData
asを使用しinConformingToUTI
ます。UTItypes
ではなく、単純な拡張文字列を含む配列としてパラメーターを指定すると、すべてが期待どおりに機能します。kUTTypeData
したがって、ヒントのようなものは、実行ビットが設定されたファイルを除外すると思います。残念ながら、ドキュメントには、それが機能する他の値は記載されていませんinConformingToUTI
。