2012-02-16 4 views
1

Je suis développeur iOS et je n'ai jamais développé pour Mac OSX, mais je suis intéressé par la logique de travail de l'application Dropbox Mac OS. Les questions exactes sont les suivantes:Dropbox OSX application logic

1) Comment puis-je faire par programme un lecteur/dossier supplémentaire qui est affiché dans l'application Finder comme le fait Dropbox?

2) Comment puis-je détecter que l'utilisateur a apporté des modifications au dossier Dropbox à partir de son ordinateur? Est-il possible de créer un script (en applescript ?????) pour notifier l'application lorsque le contenu du fichier change ou que l'application doit contrôler périodiquement si un fichier a été modifié ou non.

3) Qu'en est-il des limitations d'activité en arrière-plan des applications OSX?

Répondre

6

1) utiliser 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) vous pouvez utiliser FSEvent API.

L'API des événements du système de fichiers fournit un moyen pour l'application de demander de notification lorsque le contenu d'une hiérarchie de répertoires sont modifiés .

3) jetez un oeil à Daemons and Agents technical note.

Daemons et agents, connus collectivement comme les programmes de fond, sont programmes qui fonctionnent sans aucune interface utilisateur graphique

+1

certaines personnes ici toujours favorables et essayer de donner un coup de main à d'autres personnes dans cette communauté. mais beaucoup sont juste toujours fermés certaines personnes question – justicepenny