1- Содержит ли SQLite все эти данные?
Да, SQLite может справиться с таким количеством данных.
2- Когда клиент загрузил мое приложение,
он / она также будет иметь БД в
его / ее устройство. Позволяет ли магазин приложений
мне обновить базу данных моего приложения и загрузить мои
новый выпуск? (я не знаю этих
кстати хорошо выдает)
Общий подход заключается в том, чтобы сохранить базу данных SQLite в комплекте приложений, а затем скопировать базу данных в каталог документов приложения на устройстве при первом запуске приложения. При последующих обновлениях приложения вы должны проверить, является ли база данных в каталоге документов той же версией, и обновить ее, если это необходимо. См. Существующий Запуск NSBundle из папки документов вопрос / ответ для получения дополнительной информации по этому вопросу.
3 - А может любой клиент, который скачал
мое приложение, взломать и получить мою базу данных?
Есть ли какие-либо методы профилактики? Является
SQLite достаточно устойчив к этим?
Это довольно тривиально - открыть приложение (в конце концов, пакет развертывания - это просто zip-файл), так что да, можно будет получить доступ к данным вашей базы данных. К сожалению, нет простого способа обойти это, что я знаю. (Можно предположить, что вы загружаете данные с сервера при первом запуске приложения, но оно все равно будет доступно на взломанном устройстве.)
Иногда вам просто нужно прикусить пулю и принять тот факт, что ваши данные будут украдены.