日記帳:不具合の報告に対するまとめ

日記帳 v1.9 〜 v1.9.4 へのアップデート後に、 アプリが起動しないと言う報告を受け取りました。 以下、その現象に対する利用者からの報告と対応についてのまとめです。

アプリが起動しないと言う報告

アップデートした後にアプリが起動しないと言う報告がありました。 日記帳 v1.9.5 で原因調査用のコードを実装して、 不具合の起こった利用者からの報告を待つことにしました。 しかしながら、根本的な原因が分からなかったので、 プログラム側では全く対処しませんでした。 いずれにせよ、8名の利用者以外からの不具合の報告がなかったので、 これらの特定の利用者の環境のみに起こる問題であったと思われます。

また、アプリが起動しなくなったと報告してきた利用者で、 利用者自身がアプリを削除して日記帳の全データを消してしまった事例以外は、 日記帳アプリが日記データを削除する問題は確認されていません。 つまり、利用者自身で日記帳アプリを iPhone から削除しない限り、 日記データは iPhone 上に残っています。 この状態で iTunes でバックアップを行っていれば、 復元によって日記帳のデータもリストアされます。

なお、日記帳 v1.9.8 リリース後は同様の不具合の報告がないので、 次回のアップデートでは不具合の原因調査用のコードを削除する予定です。 以下、不具合を報告して来た利用者の方とのやり取りを通じて、 原因を推測した上での対処方法についての記述です。

アプリが起動しない場合の対処(その1)

iTunes 9.1 に更新後の同期以降、アプリが起動しなくなった場合は、 iTunes 9.1.1 に更新してから作業して下さい。 iTunes 9.1 で iPhone との同期が不完全だと思われた現象が解決していました。

また、以下の対処方法を実行する前に、iPhone を一度再起動してみて下さい。 問題が解決するかもしれません。作業が簡単な順に、記載しています。

アプリが起動しない場合の対処(その2)

アップデート後にアプリが起動しなくなる原因の一つとして、 大量の写真を保存している場合が考えられます。 日記帳アプリは、アップデート時にデータベースのバックアップを作成します。 そのため、元のデータベースのサイズが大きい場合は、 iPhone 上にそれと同サイズ以上の空き領域が必要となります。

目安としては、写真の数 × 1MB × 1.5 の空き領域が起動時に必要です。 例えば、写真が 100枚保存してあれば、150MB 以上の空き領域が必要となります。 十分な空き領域を確保して、再度、アプリを起動して下さい。

アプリが起動しない場合の対処(その3)

アップデート後にアプリが起動しなくなった場合は、アップルのサポート情報の「は」という文字を入力すると、アプリケーションが予期せず終了するを参考にして下さい。 また、「設定」→「一般」→「リセット」→「キーボードの変換学習をリセット」で候補を全消去する方法も、文字入力系のアプリケーションが起動しなくなった場合の対処方法として有効なようです。

アプリが起動しない場合の対処(その4)

アップデート後にアプリが起動しなくなった場合は、アップルのサポート情報の「App Store で購入したアプリケーションのトラブルシューティング」のアカウントの再認証の項目を参考にして下さい。 また、作業中に日記帳アプリの削除を促されても、 絶対に iPhone 上から削除しないで下さい。

このような現象は、iTunes をアップデートした場合や Apple Store のライセンス変更時に起こっているようです。

なお、日記帳のデータは、 利用者の方自身が iPhone 上から「日記帳アプリ」を削除しない限り消えません。 iPhone 上からアプリを削除する時に、確認用のポップアップにも表示されますが、 「日記帳アプリ」の削除は作成した日記を自ら破棄する行為です。 アプリを削除する前に、その操作が本当に必要なのか良く考えて下さい。

バックアップに関する補足

日記帳アプリを iPhone から削除すると全データが消えます。 日記帳アプリのバックアップ機能を利用して、バックアップデータがある場合は、 それを利用して日記データを元に戻せます。 その場合でもアプリを削除する場合は、良く検討した上で実行して下さい。

また、アプリが起動しなくなっても、iPhone 上から日記帳のデータは消えません。 日記帳のデータが消えるのは、 利用者ご自身で日記帳アプリを削除した場合だけです。 日記帳アプリを利用者ご自身の判断で削除した後に、 データが全部削除されたと報告されても対応できません。 困った事象に遭遇したら、削除する前にご連絡下さい。

なお、iPhone 上に日記帳アプリが存在している限り、 iTunes の同期でバックアップされます。 MacOS X を利用している場合は、 iPhone Backup Extractor のような iTunes のバックアップファイルから各アプリのデータを取り出すツールを利用して、 日記帳のバックアップファイルを作成できます。

以下、簡単な作業手順。

  1. iPhone Backup Extractor を利用して Diary と表示される項目名を選択
  2. 保存先を "デスクトップ"上の "DiaryExtract" に指定
  3. DiaryExtract を Finder を使って開き、"com.magickworx.Diary" 以下に "Documents" フォルダが存在することを確認する。
  4. "Documents" フォルダ内に "diary.db" があるのを確認
  5. ターミナルアプリを起動
  6. ターミナル上で次のコマンドを実行
    cd ~/Desktop/DiaryExtract/com.magickworx.Diary/Documents
  7. 続いて次のコマンドを実行
    zip -9v ~/Desktop/backup.zip *.*
    (以上の作業で、"デスクトップ" 上に "backup.zip" が作成されます。)
  8. 日記帳を起動して、「ご案内」画面の「バックアップ/リストア」をタップ
  9. ポップアップ画面の URL にブラウザでアクセス
  10. 作成した "backup.zip" を指定してリストア
  11. 日記帳のデータ復旧完了