Dropbox OSX app逻辑

Olg*_*ton 1 macos cocoa objective-c dropbox

我是iOS开发人员,从未为Mac OSX开发,但我对Dropbox Mac OS应用程序的工作逻辑感兴趣.确切的问题是:

1)如何以编程方式执行Finder应用程序中显示的其他驱动器/文件夹,如Dropbox所做的那样?

2)如何检测用户是否已从其计算机对Dropbox文件夹进行了修改?有没有办法让一些脚本(在applescript ?????中)在文件内容发生变化时通知应用程序,或者应用程序是否必须定期控制是否有任何文件发生了变化.

3)OSX应用程序后台活动限制是什么?

Par*_*fna 6

1)使用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);
}  
Run Code Online (Sandbox Code Playgroud)

2)您可以使用FSEvent API.

文件系统事件API为应用程序提供了一种在修改目录层次结构内容时请求通知的方法.

3)看看守护进程和代理商的技术说明.

守护进程和代理(统称为后台程序)是在没有任何图形用户界面的情况下运行的程序