获取 Info.plist 的所有 CFBundleTypeExtensions
Posted
技术标签:
【中文标题】获取 Info.plist 的所有 CFBundleTypeExtensions【英文标题】:Get all CFBundleTypeExtensions of an Info.plist 【发布时间】:2010-08-26 12:55:29 【问题描述】:我想获取我的应用可以打开的所有文件扩展名。我想从我的 Info.plist 中获取它们。现在我有这个,但是有更好的选择吗?
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];
提前致谢。
【问题讨论】:
这可能是最有效的方法,但有什么理由你必须检查你的 Info.plist 吗?您不知道可以打开哪些文件类型吗? 是的。但这是一个很大的列表......也许我应该硬编码它们。 【参考方案1】:在您项目的 info.plist 中,只需输入一个星号 ('*') 作为 CFBundleTypeExtension 的一项,如下图所示。
【讨论】:
以上是关于获取 Info.plist 的所有 CFBundleTypeExtensions的主要内容,如果未能解决你的问题,请参考以下文章
如何从 info.plist 获取静态框架的版本?或任何其他方式?
Info.plist 和 [app name]-Info.plist 有啥区别?