2012-02-16 63 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