[Adobe AIR] 実機で動かしたときに SharedObject を作れないことがある

Posted: 2014-08-11
Category: AdobeAIR
Tags: #AdobeAIR #iOS #Android

現象

  • iOS などの実機で動作させたとき、 Adobe AIR の SharedObject(端末に保存する永続化データ)の flush() あたりでエラーが出る
  • 僕の身の回りでは iOS 7.1.1 の端末で多く発生していた

原因

  • 単純に端末のストレージ容量が少ないと失敗する
  • 「少ない」のしきい値は環境によって様々 で、iOS7 だと 400 MB とか残っていても 失敗する、ということが報告されている

解決法

  • 環境差があって「容量足りない状態」も取得しづらいので、 ファイル扱うときの try-catch でエラーが出たら 「容量を空けてくれ」という通知をネイティブのダイアログで出す、 とかが落としどころかな