我遇到了 LSSharedFileListInsertItemURL 的问题。我正在尝试将一个项目添加到 Finder 侧边栏,效果很好。它唯一不做的就是更改侧边栏中项目的名称。我将“FolderName”作为参数推送,但在运行此函数后,该项目不会重命名。它确实会随着名称闪烁一秒钟,但很快又变回其实际名称。我已经尽可能多地搜索以找到解决方案,但一无所获。如果有人发现我的代码有问题或有“黑客”来使其正常工作,请告诉我。
-(void) addPathToSharedItem:(NSString *)path
{
CFURLRef url = (__bridge CFURLRef)[NSURL fileURLWithPath:path];
// Create a reference to the shared file list.
LSSharedFileListRef favoriteItems = LSSharedFileListCreate(NULL, kLSSharedFileListFavoriteItems, NULL);
if (favoriteItems) {
//Insert an item to the list.
CFStringRef mdcName = CFSTR("FolderName");
LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(favoriteItems, kLSSharedFileListItemLast, mdcName, NULL, url, NULL, NULL);
if (item){
CFRelease(item);
}
}
CFRelease(favoriteItems);
}