Как интегрировать расширения 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

Другие вопросы по тегам