2010-08-26 95 views
2

我想获得我的应用可以打开的所有文件扩展名。我想从Info.plist中获取它们。现在我有这个,但是有更好的选择吗?获取Info.plist的所有CFBundleTypeExtensions

NSMutableArray *types = [NSMutableArray new]; 
NSArray *documentTypes = [[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleDocumentTypes"]; 
for (NSDictionary *dict in documentTypes) { 
    for (NSString *extension in [dict objectForKey: @"CFBundleTypeExtensions"]) 
     [types addObject: extension]; 
} 
return [types autorelease]; 

在此先感谢。

+0

这可能是最有效的方式,但没有任何理由,为什么你要检查你的Info.plist这个?你不知道你可以打开哪些文件类型吗? – 2010-08-26 18:16:11

+0

是的。但是这是一个很大的列表......也许我应该改写它们。 – Jan 2010-08-26 19:16:23

回答

0

在项目的info.plist中,输入一个星号('*')作为CFBundleTypeExtension项,如下图所示。

enter image description here