是否有一种简单的方法(或任何方式)来查看用户在“保存”面板中键入的文件扩展名是否是其系统上的有效/已注册扩展名/ UTI?
答案 0 :(得分: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;
}