Как интегрировать расширения Finder Sync с Xcode в Какао
Я хочу использовать Finder Sync Extensions точно так же, как Dropbox, например, добавить значок на панели инструментов и обновить значки значков во время синхронизации, используя Objective C в Xcode.
Я много искал в Google, но не смог найти пример кода, связанного с этим.
Я нашел только одну ссылку для этой Finder Sync.
Но я хочу знать пример процедуры для интеграции расширения Finder Sync в качестве примера или кода для большего понимания.
Спасибо в Adv..!!
2 ответа
Я являюсь автором кода расширения Seafile Finder Sync. Спасибо за публикацию ссылки на мой код. Я улучшил код сверхурочно с момента первой публикации.
Архитектура намного проще, чем программирование расширений проводника Windows. Во-первых, вы должны сказать Finder (или FIFinderSyncController
) какие каталоги вы хотите посмотреть (через настройку directoryURLs
) и FIFinderSyncController
перезвонит через beginObservingDirectoryAtURL
когда пользователь посещает какой-то каталог в Finder. Затем, если конкретные файлы в каталоге посещаются в первый раз после requestBadgeIdentifierForURL
позвоните, вам перезвонят с requestBadgeIdentifierForURL
, Вы должны записать эту информацию, если хотите обновить значок позже. Наконец, вы можете установить значок для ваших файлов, когда это возможно, в главной очереди через setBadgeIdentifier
,
Еще одна важная вещь, о которой следует упомянуть, это, как говорится в официальном документе, расширение работает в другом процессе (ни в потоках из Finder, ни в ваших приложениях) и общается с Finder через XPC. И вам может понадобиться взаимодействовать с вашим расширением через какой-либо IPC, такой как XPC или порты Mach, так как расширение необходимо поместить в "песочницу".
Я надеюсь, что эта информация поможет вам с вашим кодом.
Расширение синхронизации Finder обеспечивает поддержку наложения значков. Вы должны написать свой собственный код для синхронизации файлов с сервером и компьютером, и вы можете отобразить статус синхронизации в Finder с поддержкой расширений синхронизации Finder. Пожалуйста, проверьте эту ссылку, например - https://github.com/haiwen/seafile-client/blob/7d73ba314aedbd7a05428de649ce2a1cce37f676/fsplugin/FinderSync.mm