Io sono l'autore del codice Seafile's Finder Sync Extension. Grazie per postare il link al mio codice. Ho migliorato il lavoro straordinario del codice dalla prima pubblicazione.
L'architettura è molto più semplice di quella della programmazione dell'estensione di Windows Explorer. Per prima cosa devi dire a Finder (o FIFinderSyncController
) quali directory vuoi guardare (tramite l'impostazione directoryURLs
) e lo FIFinderSyncController
effettuerà la richiamata tramite beginObservingDirectoryAtURL
quando l'utente visita qualche directory in Finder. Quindi se i file specifici nella directory vengono visitati la prima volta dopo la chiamata requestBadgeIdentifierForURL
, si verrà richiamati con requestBadgeIdentifierForURL
. È necessario registrare queste informazioni se si desidera aggiornare il badge in un secondo momento. Infine puoi impostare il badge sui tuoi file quando possibile nella coda principale tramite setBadgeIdentifier
.
Un'altra cosa importante da menzionare è, come dice il documento ufficiale, che l'estensione è in esecuzione in un altro processo (né i thread di Finder né quelli delle app) e parlando con Finder tramite XPC. E potrebbe essere necessario interagire con l'estensione tramite una sorta di IPC come porte XPC o Mach poiché è necessario che l'estensione sia in modalità sandbox.
Spero che questa informazione ti aiuti con il tuo codice.
@Sheen Vempeny; il tuo post è la risposta; pubblicalo come tale e lo inviterò. ;-) – geowar
Il link Finder Sync non è altro che un dolore. Fai tutti i passaggi indicati e niente funziona !!! Si prega di fornire alcuni passi migliori per raggiungere questo ... –