У моего друга есть iPhone 3G, и примерно в сентябре его телефон, похоже, потерял все его SMS-сообщения, и теперь видны только сообщения, полученные с тех пор. Я нашел некоторые источники, в которых говорится, что это может произойти, когда база данных сообщений повреждена (или есть сообщение, которое где-то повреждено и нарушает работу). Я понимаю, что архив базы данных представляет собой базу данных SQLite, и что кто-то с похожими симптомами решил эту проблему, удалив оскорбительное сообщение из базы данных вручную . Я рад сделать это, но iPhone не взломан, и я предполагаю, что у меня не будет прав записи на устройстве.
Я попытался создать резервную копию iPhone через iTunes и извлечь сообщения с помощью инструмента, но он нашел только те сообщения, которые может видеть устройство, и нет резервных копий до возникновения проблемы.
Вероятно ли, что сообщения все еще существуют на устройстве и могут быть извлечены? Можно ли их восстановить, чтобы устройство снова могло их прочитать?
Изменить в ответ на ответ манкоффа:
Теперь я выполнил резервное копирование iPhone в iTunes и проанализировал дамп базы данных SQLite, и сообщение с самой ранней отметкой времени выглядит следующим образом:
INSERT INTO "message" VALUES(2,NULL,1315907872,NULL,131,0,NULL,1,0,0,0,0,NULL,NULL,NULL,NULL,1);
Для справки схема таблицы:
CREATE TABLE message (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, address TEXT, date INTEGER, text TEXT, flags INTEGER, replace INTEGER, svc_center TEXT, group_id INTEGER, association_id INTEGER, height INTEGER, UIFlags INTEGER, version INTEGER, subject TEXT, country TEXT, headers BLOB, recipients BLOB, read INTEGER);
Это соответствует вторнику, 13 сентября 2011 г., 09:57:52 по Гринвичу, что является самым ранним сообщением, которое также может видеть телефон. Я не уверен, как мог появиться отправитель NULL, и база данных, похоже, не содержит таких экземпляров.
Учитывая эту информацию, есть ли способ, которым данные все еще могут быть на телефоне и извлекаться (за исключением судебной экспертизы)?
Изменить 2. Я также хотел бы спросить: что могло вызвать эту проблему?
Вы должны попробовать получить доступ к базе данных SMS из командной строки. Некоторое объяснение здесь: Как я могу экспортировать текстовые SMS-сообщения с моего iPhone?
Если вы видите старые сообщения, вы можете найти поврежденное и восстановить его. Если команда дампа Sqlite их не показывает, а размер БД подразумевает, что их там нет, скорее всего, они исчезли.
Если вы можете найти старые копии этого файла в резервных копиях, посмотрите там, иначе я думаю, что сообщения исчезли навсегда.
Мартин Фут
пользователь588
Мартин Фут