У меня есть файл sqlite внутри моего приложения для iPhone. Я хочу, чтобы пользователи могли экспортировать и снова импортировать файл прямо из приложения на свой рабочий стол для целей резервного копирования. Но я не хочу, чтобы они имели прямой доступ к файлу sqlite или данным из любого места, кроме iPhone. Как преобразовать файл в собственный формат, который не читается? Есть ли какое-либо средство в Objective-C, которое позволит мне достичь этого?
Спасибо.
Ответ 1 · рейтинг 3 · Bryan Henry
Вероятно, вам не следует пытаться переносить данные между базой данных sqlite и каким-либо проприетарным форматом. Я не вижу веских причин для фактического изменения базы данных sqlite напрямую, если только у вас уже есть какой-то формат, в котором вы можете легко хранить данные. Кроме этого, вы не найдете какой-то общий формат хранения данных, в который вы можете просто переместить свои данные из базы данных sqlite - это то, чем должна быть база данных в первую очередь (то есть общее хранилище данных)!
Уже кажется маловероятным, что у обычных пользователей будет стимул или ноу-хау, чтобы действительно читать или изменять базу данных sqlite. Вы можете попытаться скрыть тот факт, что это база данных sqlite, изменив расширение на что-то произвольное. Дальнейшие шаги (сжатие файла, шифрование файла каким-либо образом) будут зависеть от того, насколько вы на самом деле заботитесь о том, чтобы пользователь не мог получить доступ к данным вне вашего приложения. Тем не менее, ваши опасения кажутся принципиально необоснованными (на мой взгляд), и я не думаю, что вам следует слишком беспокоиться о пользователях, пытающихся копаться в базе данных sqlite и изменять ее, если у вас нет какой-то конкретной неустановленной причины верить этому.