1

有没有一种简单的方法(或任何方法)来查看用户在保存面板中键入的文件扩展名是否是他系统上的有效/注册扩展名/UTI?

4

1 回答 1

3

您可以使用“启动服务”功能LSGetApplicationForInfo() 检查是否有打开具有给定扩展名的项目的应用程序。例子:

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;
}
于 2013-11-09T08:31:29.533 回答