老谭笔记

修改Mac OSX文件默认打开方式

在Mac OSX中,修改文件的默认打开方式,可以在文件简介面板中设置,那如何用代码的方式来实现呢?下面的给出一个简单的示例,通过文件的扩展名修改该类型文件的打开方式为指定BundleID的应用程序。

1
2
3
4
5
6
7
8
9
10
NSString *fileExtension = @"txt";
NSArray *UTIs = (__bridge NSArray *)UTTypeCreateAllIdentifiersForTag(kUTTagClassFilenameExtension,
(__bridge CFStringRef)fileExtension,
nil);
for (NSString *UTIType in UTIs)
{
LSSetDefaultRoleHandlerForContentType((__bridge CFStringRef)UTIType,
kLSRolesEditor,
(__bridge CFStringRef)@"com.apple.Safari");
}

这段代码实现了将TXT文档的默认打开方式修改为Safari。