Estoy tratando de encontrar la manera de que Cocoa traduzca las extensiones de archivo a identificadores de tipo uniformes. Es decir, quiero encontrar la manera de hacer esto:Obtener un identificador de tipo uniforme para una extensión determinada
".jpg" => "public.jpeg"
".html" => "public.html"
".ttf"=> "public.truetype-font"
He buscado en los documentos NSWorkspace pero no pude encontrar nada. Lo más cerca que pude conseguir fue:
- (NSImage *)iconForFileType:(NSString *)fileType
que devuelve el icono de una extensión de archivo, y
– (NSString *)preferredFilenameExtensionForType:(NSString *)typeName
que hace exactamente lo contrario de lo que estoy tratando de hacer. ¿Alguno de ustedes sabe cómo hacer esto?
Realmente espero no tener que comprobar muchas extensiones a mano.
Gracias de antemano.
Simplemente no olvide que debido a que el nombre de la función tiene 'Create' en él, usted es responsable de 'liberar' el objeto. – Alex
¡Gracias! Funcionó. Al principio tuve algunos problemas, pero fue porque no estaba recortando el espacio en blanco y los caracteres de nueva línea de las cadenas de ruta. (Los estoy leyendo desde una herramienta de línea de comandos.) –
Lo necesitaba solo hoy. :-) Incluso es más claro si lo ajusta de la siguiente manera: 'NSString * uti = [NSMakeCollectable (UTTypeCreatePreferredIdentifierForTag (kUTTagClassFilenameExtension, (CFStringRef) [myFilePath pathExtension], NULL)) autorelease];' –