Question

Je suis en train de trouver un moyen à Cocoa pour traduire à partir des extensions de fichier à Identifiers type uniforme. Autrement dit, je veux trouver un moyen de faire ceci:

".jpg" => "public.jpeg"
".html" => "public.html" 
".ttf"=> "public.truetype-font"

Je l'ai cherché sur la documentation NSWorkspace mais n'a pas pu trouver quoi que ce soit. Le plus proche que je pouvais obtenir était:

- (NSImage *)iconForFileType:(NSString *)fileType

qui retourne l'icône pour une extension de fichier, et

– (NSString *)preferredFilenameExtensionForType:(NSString *)typeName

qui fait exactement le contraire de ce que je suis en train de faire. Est-ce que vous savez comment faire?

J'espère vraiment que je ne dois pas vérifier beaucoup d'extensions à la main.

Merci d'avance.

Était-ce utile?

La solution

Je avais besoin ce il y a une semaine:

NSString * UTI = (NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, 
                                                                   (CFStringRef)[myFilePath pathExtension], 
                                                                   NULL);

Si j'exécuter sur les extensions @ "php", @ "jpg", @ "html" et @ "TTF", il affiche:

public.php-script
public.jpeg
public.html
public.truetype-ttf-font

Autres conseils

Vous pouvez utiliser le Terminal et appeler mdls qui vous donne toutes sortes d'informations sur un certain type de fichier, y compris les infections urinaires.

mdls /myPath/to/myFile.ext

mdls ensuite vous montrer la IVU associée à kMDItemContentTypeTree (Il est également possible d'appeler mdls à partir de votre application Cocoa BTW).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top