2010-08-26 5 views
2

Je voudrais obtenir toutes les extensions de fichiers que mon application peut ouvrir. Et j'aimerais les obtenir de mon Info.plist. En ce moment j'ai ceci, mais y at-il une meilleure alternative?Obtenez tous les CFBundleTypeExtensions d'un 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]; 

Merci d'avance.

+0

C'est probablement la façon la plus efficace, mais est-il une raison pour laquelle vous devez vérifier votre Info.plist pour cela? Vous ne savez pas déjà quels types de fichiers vous pouvez ouvrir? –

+0

Oui. Mais c'est une grosse liste ... Peut-être devrais-je les coder à la place. – Jan

Répondre

0

Dans info.plist de votre projet, entrez simplement un astérisque ('*') comme élément de CFBundleTypeExtension comme indiqué dans l'image ci-dessous.

enter image description here

Questions connexes