Как правильно управлять файлами 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.

  • IOS isEqualToString не работает
  • В чем разница между URL-адресом и URL-адресом в iOS?
  • Какой из методов включения защиты данных на iOS необходим?
  • Имя папки в моем пути к каталогу в iPhone
  • Не удалось создать каталог под NSHomeDirectory
  • Загрузите в каталог документов или переместите файл async - iOS
  • Удалить файлы из каталога внутри каталога документа?
  • Защита файлов при блокировке устройства и извлечении фона в iOS7
  • Можно ли заменить хранилище CoreData persistantStore NSFileManager?
  • NSFileManager не может просматривать ниже определенные каталоги
  • Основные данные против NSFileManager
  • IOS - загрузка локального файла по порядку
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.