2016-09-16 1 views
1

Я работаю над приложением, которое собирает данные пользователя, включая фотографии. Ему приказано работать в автономном режиме - это означает, что пользователь может выполнять опросы и снимать фотографии без подключения к Интернету, и эти данные должны синхронизироваться с удаленной базой данных. Как это обычно обрабатывается? Создать локальную базу данных с помощью Core Data и написать дополнительный уровень для управления сохранением/чтением с сервера? Существуют ли какие-либо рамки, которые помогают упростить эту синхронизацию?Лучшая техника для сохранения и синхронизации двоичных данных в автономном режиме в iOS?

Я также смотрел в серверными такие услуги, как Firebase, которые включают iOS SDKs, которые появляются обрабатывать много тяжелой работы в автономном режиме поддержки, но он не появляется для поддержки автономной синхронизации файлов изображений через Firebase Storage SDK.

Может ли кто-нибудь рекомендовать наименее болезненный способ справиться с этим?

ответ

-1

Как правило, для изображений лучше всего использовать NSFileManager и сохранять изображения в каталоге документов или в каталоге кешей в зависимости от типов изображений, которые вы храните. Core Data или Firebase - это базы данных, которые более квалифицированы для данных, чем изображения, хотя они поддерживают произвольное хранение данных.

Вы также можете попробовать SDWebImage, который имеет множество функций по загрузке и хранению изображений.

0

Couchbase Mobile/Couchbase Lite, вероятно, лучшее решение, с которым я столкнулся до сих пор.

Он позволяет автономное хранение данных, включая двоичные данные, и синхронизацию через Интернет с CouchDB-совместимым сервером. Он лучше всего работает со своей комбинацией Couchbase Server/Sync Gateway, но если вам не нужно использовать фильтрованную репликацию или «каналы» (например, для синхронизации данных, характерных для одного пользователя с общей базой данных), вы можете использовать Cloudant, который экономит вас необходимо настроить собственный сервер.

Его также доступны на большинстве платформ.

Смежные вопросы