Как правильно управлять файлами iCloud через NSFileManager?

Я пытаюсь добавить iCloud в приложение iOS / Mac с помощью методов iCloud в NSFileManager (без документов или координаторов файлов). Приложение должно синхронизировать аудиофайлы в разных случаях; создавать, удалять и метаданные. Это не приложение стиля сотрудничества, поэтому я не очень беспокоюсь о конфликтах и ​​т. Д. У меня есть что-то основное, но я столкнулся с некоторыми основными вопросами, на которые я не могу найти окончательных ответов.

  1. При использовании iCloud задействованы две локальные каталоги: каталог песочницы, в котором находится файл, и каталог контейнера вездесущности. Как только я включу файл для вездесущности, должен ли я начать взаимодействие с файлом в контейнере ubiquity напрямую или мне нужно продолжить взаимодействие с файлом песочницы и нажатием / вытаскиванием изменений из копии вездесущности? Похоже, что последнее лучше, так что я не потеряю все файлы пользователей, если они отключат iCloud (не уверен, что происходит с файлами в контейнере для вездесущности в этом случае).

  2. Если я поддерживаю два файла, есть ли предпочтительный способ push / pull инкрементных изменений в / из контейнера вездесущности? Насколько я понимаю, если пользователь меняет файл на данном устройстве, все остальные устройства получают инкрементные изменения в своей локальной копии вездесущности (если скачали). Должен ли я просто копировать файл целиком в мой локальный файл песочницы каждый раз, когда файл вездесущности изменяется и наоборот?

One Solution collect form web for “Как правильно управлять файлами iCloud через NSFileManager?”

Постоянное копирование файлов в контейнер ubiquity по мере их модификации не кажется хорошей стратегией для меня и может даже привести к тому, что iCloud думает, что файл больше изменился, чем на самом деле. Вы можете напрямую взаимодействовать с файлами в контейнере ubiquity, работая с ними так же, как и файл в вашей «обычной» изолированной песочнице. Это модель, предписанная во всей документации iCloud, редкая, как это может быть.

Вы правы, что вам нужно иметь возможность справляться с ситуацией, когда пользователь уходит от iCloud. Существуют способы перемещения файла из контейнера ubiquity, а некоторые из новых API iOS 6 упрощают обнаружение, если пользователь включен iCloud, хотя это область, в которой мы могли бы использовать больше API.

  • Сохранение файла CSV с помощью CHCSVWriter
  • Основные данные против NSFileManager
  • Возможно ли использовать glob-каталог в iOS и получить результаты, кэшированные ОС?
  • iOS - весь каталог документов Flag, не поддерживающий резервное копирование
  • Сохранение изображений локально на устройстве iOS
  • Лучшее место для сохранения изображения, загруженного из Интернета на устройствах iOS?
  • Совместное использование базы данных между несколькими приложениями быстрого доступа
  • Папка документов iOS Simulator
  • Массив нескольких URL-адресов NSFileManager Swift
  • NSFileManager.defaultManager (). FileExistsAtPath возвращает false вместо true
  • Скопировать папку (с содержимым) из пакета в каталог Документы - iOS
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.