Моё приложение MobileNotes (встроенное приложение Notes для iPhone) вошло в какое-то противоречивое состояние и теперь падает при запуске.

Я хотел бы восстановить свои заметки из него (а также заставить приложение работать снова, но это вторично). Кто-нибудь видел это и / или удалось восстановить свои данные?

При запуске приложения отображаются следующие данные трассировки стека:

Jul  5 11:15:08 unknown MobileNotes[777] <Error>: *** Terminating app due to uncaught exception 'NSObjectInaccessibleException', reason: 'CoreData could not fulfill a fault for '0x14e620 <x-coredata://77E0D73C-42FB-4F50-A269-6459285C2296/Note/p180>''
    *** First throw call stack:
    (0x357dc88f 0x37b83259 0x361264f3 0x36125d5b 0x36125c0b 0x20dc3 0x33270efb 0x3326ffd9 0x3326f763 0x34723 0x1a103 0x33213f37 0x3573b1fb 0x3260baa5 0x3260b6bd 0x3260f843 0x3260f57f 0x32637911 0x326378e3 0x3325510f 0x33242b33 0x33210ac3 0x33210567 0x3320ff3b 0x373cf22b 0x357b0523 0x357b04c5 0x357af313 0x357324a5 0x3573236d 0x3324186b 0x3323ecd5 0x15e67 0x1564c)
Jul  5 11:15:08 unknown UIKitApplication:com.apple.mobilenotes[0xf629][777] <Notice>: terminate called throwing an exception
Jul  5 11:15:09 unknown ReportCrash[778] <Notice>: Formulating crash report for process MobileNotes[777]
Jul  5 11:15:09 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.apple.mobilenotes[0xf629]) Job appears to have crashed: Abort trap: 6
> 
Jul  5 11:15:09 unknown SpringBoard[15] <Warning>: Application 'Notes' exited abnormally with signal 6: Abort trap: 6
Jul  5 11:15:09 unknown ReportCrash[778] <Notice>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/MobileNotes_2012-07-05-111508_braglearbgle.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0

Полный журнал аварий смотрите здесь

1 ответ1

2

Предполагая, что вы взломаны, вы можете получить доступ к базе данных Notes по адресу /var/mobile/Library/Notes/notes.sqlite. В этой базе данных интересные таблицы ZNOTE и ZNOTEBODY. Таблица ZNOTE содержит, помимо прочего, заголовок заметки (первая строка, которую вы вводите в заметке) и краткое резюме, отображаемое в табличном представлении. Таблица ZNOTEBODY содержит тело заметки в формате HTML.

Предполагая, что эта база данных повреждена, я предлагаю создать резервную копию этой базы данных и затем удалить ее. Приложения обычно воссоздают свои базы данных, если они не существуют, но не всегда (отсюда и мое заявление о создании резервной копии).

Если это по-прежнему не решает вашу проблему, вы можете попробовать вручную отредактировать базу данных, найти свежую копию БД (вероятно, из соответствующего ipsw) или, если ничего не помогло, восстановить. Пока вы создаете резервную копию этой базы данных, вы все равно можете читать заметки, просматривая таблицу ZNOTEBODY. Каждая строка заключена в <div> и заканчивается символом <br> .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .