손상된 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 형식의 메모 본문이 포함되어 있습니다.

이 데이터베이스가 손상되었다고 가정하면 해당 DB를 백업한 다음 삭제하는 것이 좋습니다. 앱은 일반적으로 데이터베이스가 존재하지 않는 경우 데이터베이스를 다시 생성하지만 항상 그런 것은 아닙니다(따라서 백업 만들기에 대한 설명입니다).

그래도 문제가 해결되지 않으면 데이터베이스를 수동으로 편집하여 DB의 새 복사본(아마도 해당 ipsw에서)을 찾거나, 다른 모든 방법이 실패할 경우 복원을 시도할 수 있습니다. 해당 데이터베이스를 백업하는 동안에는 ZNOTEBODY 테이블을 보면서 메모를 계속 읽을 수 있습니다. 각 줄은 a로 둘러싸여 <div>있으며 a로 끝납니다 <br>.

관련 정보