Поскольку мобильная разработка подразумевает работу приложения в онлайне и офлайне, вопрос синхронизации не так прост, как кажется. Не использовал iCloud, потому что есть планы кросс-платформенной синхронизации между iOS, Android, вебом. Для каждой модели добавлены поля deleted, ts, чтобы понимать, когда что удалено, изменено, добавлено. На основании этих данных делаю merge данных при появлении сети. Что обновлено позже, то имеет приоритет. Если на любом шаге было удаление, то все остальные изменения игнорируются.
Комментарий недоступен
Приложение имеет аудиторию и позиции в сторе. Запуск нового приложения не панацея. Большинство 80% приняли это нормально. В итоге после удалений пришло много новых пользователей. Работаем с ними 🙂
Удалять пользовательские данные без возможности восстановить их, и как я понял без предупреждения — очень стрёмная идея. Я понимаю все обоснования из статьи — но это не объясняет почему не было никакой попытки смягчить ситуацию. Уж хотя бы можно было обновить "впустую" старую версию на всё ту же старую, и вывести уведомление "пожалуйста заскриньте хотя бы расписание своё, оно удалится скоро, но это одноразово". Я бы после такого обновления оказался среди тех 20%, что приложение удалили.
Поддерживаю, но вы верно подметили. Если взять, например, какой-нибудь To-Do и записать туда 100500 задач, а потом разраб к чертям все чистит, то понятное дело люди негодуют. Однако, если бы разработчик понятно и доходчиво объяснил причины сего деяния и незадолго до этого оповестил юзеров хотя б push'ем, то было бы куда легче принять такие изменения.
Крутой рассказ! Удачи! В будущем предупреждайте пользователей если стираете их данные!
Спасибо 😉
После редакторских правок слетела ссылка на список стран под санкциями: https://www.treasury.gov/resource-center/sanctions/Programs/Pages/Programs.aspx