Добавление элемента в боковую панель путем редактирования com.apple.sidebarlists.plist с использованием цели C - PullRequest
2 голосов
/ 17 августа 2011

У меня есть приложение, которое должно отображаться в списке пользователей на боковой панели Finder при установке.

Итак, в коде установки я добавил еще один объект словаря в Library -> Preferences-> com.apple.sidebarlists.plist.. то есть в useritems -> customListItems из списка.

Если я вижу дополнение к списку, все выглядит правильно.

При перезапуске Finder.app ожидается, что этот элемент будет добавлен в боковую панель Finder. Но я не вижу никаких изменений, вместо этого plist заменяется старыми элементами. Я попытался уничтожить кэш Finder и запустить код. все равно не повезло :( Любые указатели на то, что мне не хватает, пожалуйста. Заранее спасибо!

1 Ответ

2 голосов
/ 25 марта 2013

Использовать LSSharedFileList. Добавить элемент в боковую панель диалогового окна Finder / Save

-(void) addPathToSharedItem:(NSString *)path
{
CFURLRef url = (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.
    LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(favoriteItems,
                                                                 kLSSharedFileListItemLast, NULL, NULL,
                                                                 url, NULL, NULL);
    if (item){
        CFRelease(item);
    }
}   

CFRelease(favoriteItems);
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...