iPhoneアプリ「写真フォルダ」が起動しなくなったので修復
最近、貯めに貯めた写真(画像)を整理する為、「写真フォルダ」というアプリを使って整理しようとしました。
ところが画像数2700枚の取り込み時にメモリー不足でアプリが落ち、しまいには一時的にインポートしていた上記アプリ内フォルダがアプリからでは削除できないという事態に!(削除しようとするとアプリが落ちる)
で、これの修復を試みました。
以下の作業はiPhoneをJailBreakする必要があります。
JailBreakはAppleの保障が受けられなくなり、
ハッキングやウィルス感染の危険があります。
自己責任かつ自己対処できない人は行わないでください。
これらの行為によるどんな被害が出たとしても当方は一切責任を取りません。
以前にもノートアプリ「Notes n More」が起動しなくなって修復した経験があるので、またしてもsqlite関係かなと目星をつけて作業開始。
久しぶりにiPhoneのノートアプリ「Notes n More」を起動させた所、起動ができなくなってしまった。(起動画面表示後、すぐに落ちる)
iPhoneのノートアプリ「Notes n More」が起動しなくなったので自己解決を試みる - crays diary
まずはi-Funboxを使い/var/mobile/Applicationsから該当アプリのフォルダを探す。
ありました。
ここのDocumentsフォルダがアプリのデータになり、ここからsqliteファイルを母艦に転送します。
はい、今回も使用させていただくのはPup様が公開されているPupSQLiteというソフト。
早速sqliteの中を覗くとこんな感じ。
左ペインに並んでいるのがテーブル名です。「ZITEM」なんていかにもな名前。
さっそく開いてみますと、
DATETIME型の内容がSQLiteの日付型書式に合っていません。
フィールドの編集でTEXT型へ変更してください。
では前回同様DATATIME型をTEXT型にしてみます。
当該テーブルを右クリックし「フィールドの編集」を実行し
続いて表示されたウィンドウからDATATIME型をTEXT型に変更する。
変更したら「OK」ボタンを押します。
ありゃ。エラーが出ちゃいました。
0007: The database disk image is malformed
どうも今回はsqliteファイルが壊れてるみたいですね。
公式SQLiteサイトからWindows向けのバイナリをダウンロードしてきます。
解凍して出来たsqlite3.exeをC:\WINDOWS\system32に配置します。
その後、コマンドプロンプトを立ち上げ以下のコマンドを実行します。
C:\>sqlite3 CameraGroup.sqlite "PRAGMA integrity_check;"
in database main ***
On page 4 at right child: invalid page number 333
Error: database disk image is malformed
やはりDBが壊れているようなので、DUMPから複製をしてみます。
C:\>sqlite3 CameraGroup.sqlite ".dump" | sqlite3 CameraGroup2.sqlite
C:\>sqlite3 CameraGrou2.sqlite "PRAGMA integrity_check;"
ok
直ったようです。
DUMPから複製したCameraGrou2.sqliteを元の名前(CameraGrou.sqlite)に変更し、i-Funboxで配置します。
(この時、破損したDBはリネームする等して退避させておいたほうがいいでしょう)
作業後、アプリ「写真フォルダ」は正常に動くようになりました〜。