【问题标题】:Get all CFBundleTypeExtensions of an Info.plist获取 Info.plist 的所有 CFBundleTypeExtensions
【发布时间】: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 吗?您不知道可以打开哪些文件类型吗?
  • 是的。但这是一个很大的列表......也许我应该硬编码它们。

标签: objective-c nsdictionary info.plist


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多