我可以/如何从崩溃的 MobileNotes 应用程序中恢复数据?

我可以/如何从崩溃的 MobileNotes 应用程序中恢复数据?

我的 MobileNotes 应用程序(iPhone 的内置 Notes 应用程序)进入了某种不一致的状态,现在在启动时崩溃。

我想从中恢复我的笔记(并让应用程序重新运行,但这是次要的)。有人见过这种情况吗?和/或成功恢复了他们的数据吗?

启动应用程序会产生以下堆栈跟踪/崩溃数据:

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

假设您已越狱,则可以通过 /var/mobile/Library/Notes/notes.sqlite 访问 Notes 数据库。此数据库中,有趣的表是 ZNOTE 和 ZNOTEBODY。ZNOTE 表包含笔记的标题(您在笔记中输入的第一行)和表格视图中显示的简短摘要等。ZNOTEBODY 表包含 HTML 格式的笔记正文。

假设这个数据库已损坏,我建议备份该数据库然后删除它。如果数据库不存在,应用程序通常会重新创建数据库,但并非总是如此(因此我声明要进行备份)。

如果这仍不能解决您的问题,您可以尝试手动编辑数据库,找到数据库的新副本(可能来自相应的 ipsw),或者,如果其他所有方法都失败,则恢复。只要您备份了该数据库,您仍然可以通过查看 ZNOTEBODY 表来阅读注释。每行都用 包裹<div>并以 结尾<br>

相关内容