iOS-приложение с локальной поддержкой и поддержкой iCloud

Если вездесущий контейнер (папка iCloud) по какой-либо причине недоступен, я добавляю любые новые документы в каталог «Документы» пользователей, однако, если он снова станет доступным, я добавляю документы в вездесущий контейнер.

Мой вопрос: каков наилучший способ сохранения документов, поскольку вездесущий контейнер настолько ненадежен?

Например, если пользователь отключает документы в облаке, эти документы удаляются. Есть ли уведомление для прослушивания, когда это произойдет, чтобы я мог перенести их в локальный каталог?

И наоборот, если пользователь включает документы в облаке, появляется ли уведомление о перемещении документов из локального хранилища в повсеместное?

Спасибо


person Adam Carter    schedule 30.04.2013    source источник


Ответы (1)


Нет автоматического уведомления, файлы в контейнере вездесущности либо исчезают, либо снова появляются. Логика вашего приложения должна учитывать, какие файлы нужно перемещать в iCloud и из него, когда они видны вам, но как только они исчезают, они исчезают!

ИМХО, исчезновение данных — одна из самых запутанных вещей в iCloud. Пользователь ожидает, что он синхронизирует вещи, но на данный момент это игра «все или ничего». Единственный способ обойти это, если вы действительно хотите больше «синхронного поведения», — это иметь как локальную не вездесущую копию, так и копию в локальном универсальном контейнере, чтобы она загружалась на серверы iCloud. Это означает, что у вас фактически есть две копии всего на каждом устройстве. Беспорядочный.

Гораздо проще придерживаться обязательного метода Apple и предполагать, что пользователь знает, что он делает, если он выйдет из iCloud или удалит ваши данные из iCloud.

person Rob Glassey    schedule 18.05.2013