如何在cocoa中访问finder边栏共享内容

时间:2013-07-31 06:29:55

标签: macos cocoa shared-libraries finder

我想在mac中访问finder左侧边栏的共享内容,这样我就可以将系统列表连接到同一个网络。我可以访问收藏的内容,但无法成功访问。

我正在使用此代码访问最喜欢的finder内容。

UInt32 seed;
LSSharedFileListRef sflRef = LSSharedFileListCreate(NULL,
                                                    kLSSharedFileListFavoriteItems,
                                                    NULL);
CFArrayRef items = LSSharedFileListCopySnapshot( sflRef, &seed );
for( size_t i = 0; i < CFArrayGetCount(items); i++ )
{
    LSSharedFileListItemRef item = (LSSharedFileListItemRef)CFArrayGetValueAtIndex(items, i);
    if( !item )
        continue;
    CFURLRef outURL = NULL;
    LSSharedFileListItemResolve( item, kLSSharedFileListNoUserInteraction, (CFURLRef*) &outURL, NULL );
    if( !outURL )
        continue;
    //The actual path string of the item
    CFStringRef itemPath = CFURLCopyFileSystemPath(outURL,kCFURLPOSIXPathStyle);
    // TODO: Do whatever you want to do with your path here!!!!
    CFRelease(outURL);
    CFRelease(itemPath);
}
CFRelease(items);
CFRelease(sflRef);


Since i want to access systems available in shared network i change the key according to the key in the header file 

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.fram ework / Headers / LSSharedFileList.h

But i get nothing for shared content.

Can anyone help me for accessing this.
Thanks for your time to help me in advance.

1 个答案:

答案 0 :(得分:0)

您可以使用kLSSharedFileListRecentServerItems获取最近连接的网络卷。