
Meu aplicativo MobileNotes (o aplicativo Notes integrado para iPhone) entrou em algum tipo de estado inconsistente e agora está travando na inicialização.
Gostaria de recuperar minhas anotações (e também fazer o aplicativo funcionar novamente, mas isso é secundário). Alguém viu isso e/ou conseguiu recuperar seus dados?
Iniciar o aplicativo fornece os seguintes dados de rastreamento/travamento de pilha:
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
Para obter um log de falhas completo, consulteaqui
Responder1
Supondo que você esteja com jailbreak, você pode acessar o banco de dados do Notes em /var/mobile/Library/Notes/notes.sqlite. Neste banco de dados, as tabelas interessantes são ZNOTE e ZNOTEBODY. A tabela ZNOTE contém o título da nota (primeira linha que você digita na nota) e o breve resumo mostrado na visualização da tabela, entre outras coisas. A tabela ZNOTEBODY contém o corpo da nota em formato HTML.
Supondo que este banco de dados esteja corrompido, sugiro fazer backup desse banco de dados e excluí-lo. Os aplicativos geralmente recriam seus bancos de dados se eles não existirem, mas nem sempre (daí minha afirmação sobre como fazer um backup).
Se isso ainda não resolver o seu problema, você pode tentar editar manualmente o banco de dados, encontrar uma nova cópia do banco de dados (provavelmente do respectivo ipsw) ou, se tudo mais falhar, restaurar. Contanto que você faça backup desse banco de dados, ainda poderá ler as notas consultando a tabela ZNOTEBODY. Cada linha é envolvida por um <div>
e termina com um <br>
.