Cocoa NSOpenPanel在第三方開源庫VSTGUI中禁用了具有exec權限集的文件。執行位不是必需的,但它似乎經常在Windows上創建的文件中設置並下載到OS X.如何在NSOpenPanel中允許具有exec權限的文件?
庫使用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
作爲inTagClass
,所期望的擴展作爲inTag
和kUTTypeData
作爲inConformingToUTI
創建。如果我將types
參數作爲具有簡單擴展字符串的數組而不是UTI,則所有內容都按預期工作。所以我想kUTTypeData
暗示有一些規則與設置可執行位的文件。不幸的是,documentation沒有告訴inConformingToUTI
的任何其他值。
不,不幸的是情況並非如此。 – 2013-05-04 19:41:38