使用Mac OS上的Applescript从侧栏中删除项目

时间:2015-04-17 03:55:50

标签: objective-c c macos shell applescript

有谁知道如何使用applescript从finder侧边栏上的收藏夹列表中删除项目,如果不能从applescript中删除,我们可以在Mac OS上使用shell脚本或终端命令吗?

以下是我通过applescript添加的内容: 我打开了我想要添加到侧边栏的文件夹,并使用快捷方式(Command + Control + t)将其添加到finder侧边栏的收藏夹菜单中。

请建议是否有其他方法可以做到这一点。

由于

我们可以使用objective-c来实现它:

LSSharedFileListRef sflRef = LSSharedFileListCreate(NULL,kLSSharedFileListFavoriteItems,NULL);

AuthorizationRef auth = NULL;
NSString *itemName = @"";
AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &auth);
LSSharedFileListSetAuthorization(sflRef, auth);

UInt32 seed;

if(sflRef){
    NSArray *list = (__bridge NSArray *)LSSharedFileListCopySnapshot(sflRef, &seed);

    LSSharedFileListItemRef sflItemRef = NULL;
    for(NSObject *object in list) {
        sflItemRef = (__bridge LSSharedFileListItemRef)object;
        CFStringRef nameRef = LSSharedFileListItemCopyDisplayName(sflItemRef);
        itemName = (__bridge NSString*)nameRef;

        NSLog(@"%@", itemName);

        if ([itemName isEqualToString:@"YourItem"]) {
            LSSharedFileListItemRemove(sflRef, sflItemRef);
            break;
        }
    }
}

CFRelease(sflRef);

0 个答案:

没有答案