Domanda

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?

È stato utile?

Soluzione

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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top