2012-02-16 111 views
1

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

1)如何以编程方式在Finder应用中显示额外的驱动器/文件夹,就像Dropbox那样?

2)如何检测用户是否从他的电脑上对Dropbox文件夹进行了修改?有什么方法可以在文件内容发生变化时通知应用程序(在applescript ?????)中通知应用程序,或者应用程序是否必须定期控制是否有任何文件已更改。

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

回答

6

1)使用LSSharedFileList。
Add an item to the Finder/Save dialog sidebar

-(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); 
} 

2),可以使用FSEvent API

文件系统事件API为您的应用要求 通知时,目录层次结构的内容 修改提供了一种方法。

3)看看Daemons and Agents technical note

守护程序和代理,统称为后台程序,是 程序,没有任何图形用户界面

+1

有些人总是在这里工作的支持,并试图给一只手给其他人在这个社区。但这么多只是总是关闭一些人的问题 – justicepenny 2013-08-01 09:13:47