Frage

Is there an easy way (or any way) to see if a user typed file extension in a Save panel is a valid/registered extension/UTI on his system?

War es hilfreich?

Lösung

You can use the "Launch Services" function LSGetApplicationForInfo() to check if there is an application for opening items with the given extension. Example:

NSString *extension = @"txt";

BOOL extensionIsKnown;
CFURLRef app;
OSStatus status = LSGetApplicationForInfo(kLSUnknownType, kLSUnknownCreator,
                        (__bridge CFStringRef)(extension), kLSRolesAll,
                        NULL, &app);
if (status == noErr) {
    extensionIsKnown = YES;
    CFRelease(app);
} else {
    extensionIsKnown = NO;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top