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