Próbuję znaleźć sposób w kakao, aby przetłumaczyć rozszerzenia plików na jednolite identyfikatory typów. Oznacza to, że chcę znaleźć jakiś sposób, by w ten sposób:Uzyskiwanie jednolitego identyfikatora typu dla danego rozszerzenia
".jpg" => "public.jpeg"
".html" => "public.html"
".ttf"=> "public.truetype-font"
Rozglądałem na docs NSWorkspace ale nie mogłem znaleźć nic. Najbliżej mogę dostać było:
- (NSImage *)iconForFileType:(NSString *)fileType
która zwraca ikonę rozszerzenia pliku, a
– (NSString *)preferredFilenameExtensionForType:(NSString *)typeName
że robi dokładnie przeciwieństwo tego, co próbuję zrobić. Czy ktokolwiek z was wie, jak to zrobić?
Mam nadzieję, że nie będę musiał ręcznie sprawdzać wielu rozszerzeń.
Z góry dziękuję.
Po prostu nie zapominaj, że ponieważ nazwa funkcji ma w sobie 'Create', odpowiadasz za zwolnienie obiektu. – Alex
Dzięki! Zadziałało. Początkowo miałem pewne problemy, ale to dlatego, że nie przycinałem białych znaków i znaków nowego wiersza z ciągów ścieżek. (Czytam je z narzędzia wiersza poleceń.) –
Potrzebowałem tego właśnie dzisiaj. :-) To jest jeszcze czystsze, jeśli otoczysz je w ten sposób: 'NSString * uti = [NSMakeCollectable (UTTypeCreatePreferredIdentifierForTag (kUTTagClassFilenameExtension, (CFStringRef) [pathExtension pathExtension], NULL)) autorelease];' –