Olg*_*ton 1 macos cocoa objective-c dropbox
我是iOS开发人员,从未为Mac OSX开发,但我对Dropbox Mac OS应用程序的工作逻辑感兴趣.确切的问题是:
1)如何以编程方式执行Finder应用程序中显示的其他驱动器/文件夹,如Dropbox所做的那样?
2)如何检测用户是否已从其计算机对Dropbox文件夹进行了修改?有没有办法让一些脚本(在applescript ?????中)在文件内容发生变化时通知应用程序,或者应用程序是否必须定期控制是否有任何文件发生了变化.
3)OSX应用程序后台活动限制是什么?
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)看看守护进程和代理商的技术说明.
守护进程和代理(统称为后台程序)是在没有任何图形用户界面的情况下运行的程序