база данных на устройстве для приложения iphone - PullRequest
0 голосов
/ 07 марта 2011

Я хочу иметь базу данных на устройстве для своего приложения для iphone.Это касается данных, которые поступают из словаря, состоящего из 200 000 вещей и их определений.Это связано только с данными текстового типа, как появилось.Мои вопросы:

1- Содержит ли SQLite все эти данные?

2- Когда клиент загрузит мое приложение, он / она также будет иметь БД на своем устройстве.Позволяет ли мне магазин приложений обновлять базу данных моего приложения и загружать мой новый выпуск?(кстати, я не очень хорошо знаю эти проблемы)

3- А может ли любой клиент, скачавший мое приложение, взломать и получить мою базу данных?Есть ли какие-либо методы профилактики?Достаточно ли устойчив против них SQLite?

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

1- Содержит ли SQLite все эти данные?

Да, SQLite может справиться с таким количеством данных.

2- Когда клиент загрузил мое приложение, он / она также будет иметь БД в его / ее устройство. Позволяет ли магазин приложений мне обновить базу данных моего приложения и загрузить мои новый выпуск? (я не знаю этих кстати хорошо выдает)

Общий подход заключается в том, чтобы сохранить базу данных SQLite в комплекте приложений, а затем скопировать базу данных в каталог документов приложения на устройстве при первом запуске приложения. При последующих обновлениях приложения вы должны проверить, является ли база данных в каталоге документов той же версией, и обновить ее, если это необходимо. См. Существующий Запуск NSBundle из папки документов вопрос / ответ для получения дополнительной информации по этому вопросу.

3 - А может любой клиент, который скачал мое приложение, взломать и получить мою базу данных? Есть ли какие-либо методы профилактики? Является SQLite достаточно устойчив к этим?

Это довольно тривиально - открыть приложение (в конце концов, пакет развертывания - это просто zip-файл), так что да, можно будет получить доступ к данным вашей базы данных. К сожалению, нет простого способа обойти это, что я знаю. (Можно предположить, что вы загружаете данные с сервера при первом запуске приложения, но оно все равно будет доступно на взломанном устройстве.)

Иногда вам просто нужно прикусить пулю и принять тот факт, что ваши данные будут украдены.

1 голос
/ 07 марта 2011

1) sqllite может определенно хранить этот объем данных.

2) Вы можете включить опцию обновления базы данных в своем приложении.Это может быть использовано для синхронизации локальной базы данных с копией сервера.Обновленная БД также может быть добавлена ​​с новой версией приложения.

3) Вы можете зашифровать свою локальную базу данных, используя SQLCipher для защиты своей базы данных от взломов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...