2014-07-12

iOS 7 + フルスクリーンモードのアプリケーションキャッシュが初回時失敗する?

  • iOS 7.1.2 + iPad 4th
  • あるページでアプリケーションキャッシュのマニフェストファイルに25MBを超えるサイズのファイルをキャッシュ指定する
  • フルスクリーンモード (apple-mobile-web-app-capableがyesのページをホーム画面起動した状態)

という条件で

  • 初回起動時に必ずキャッシュに失敗
    • 全ファイル読み込んだ後にapplicationCacheがerrorイベントを投げる
    • Webインスペクタで見るとコンソールに「Application Cache update failed, because size quota was exceeded」と出力される
  • error発生後リロードするとキャッシュに成功する
    • (errorを一回発生させないと成功しない)

という状態になっていました。

コンソールの上記エラーはMobile Safariでキャッシュが25MBを超えた時に出る「ローカルストレージを増やしますか」のダイアログでキャンセルを押したときのものと同じ文言なので、フルスクリーンモードのときはダイアログ出さずに無条件でエラーにしているのではないかと思います…

ただフルスクリーンモード時はアプリケーションキャッシュの容量が無制限(50MB超えてもキャッシュできる。ただこの問題にひっかかって1回はエラーになる)のようなのでそのあたりがよくわかっていません。


参考

(もともと書いていたもの)


(その他)