Я реализовал приложение для iPhone, которое имеет около 50 тыс. Пользователей. Переход от iOS7 к iOS8 многим из этих пользователей испытал ужасное чувство, когда они думали, что данные теряются.iCloud + Core Data: первый импорт и пользовательское чувство потери данных
Я реализовал поведение первого-импорта, что я думал, был один предложенный Apple,
1) Пользователи запустить приложение
2) ICloud, автоматически, начинается синхронизация данные, ранее сохраненные на iCloud
3)В какой-то момент пользователь g и др уведомлено, что данные ICloud готов благодаря NSPersistentStoreUbiquitousTransitionTypeInitialImportCompleted
Проблемы с 3) В каком-то момент:
пользователей, которые должны синхронизировать много данным нужны минуты, чтобы получить синхронизации завершены, и в это время они считают, что их данные потеряны.
Я действительно не знаю, как сообщить моим пользователям, что им нужно подождать, чтобы увидеть, что их данные синхронизированы, потому что Не знаю, когда начнется эта операция.
Я думаю о возможном решении:
Во время первого запуска приложения, с просьбой к пользователю, если он хочет использовать ICloud. Если он захочет использовать его, создавая базу данных с параметрами iCloud, поэтому я точно знаю, что синхронизация начинается здесь (я полагаю ...) Я действительно не уверен, как реализовать это поведение, так как я всегда видел Основные данные в AppDelegate
, но для достижения такого поведения я предполагаю, что мне нужно переместить все параметры CoreData в контроллере.
Что вы думаете об этом решении? как вы работаете над этой проблемой в ваших приложениях?
Правильное событие для просмотра - NSPersistentStoreCoordinatorStoresDidChangeNotification спасибо! – MatterGoal
Я не принял ваш ответ, так как событие «willChange» вызывается, когда данные уже загружаются из iCloud :( – MatterGoal