AIR 3.5 では、iOS 上での共有オブジェクトのファイル名が変更されています。
本来、この変更による作業は不要で、AIR ランタイムが自動的に古いファイルから新しいファイルにデータを引き渡す予定だったようですが、先日公開された AIR 3.5 は、どうやら単純に新しいファイル名を使用するだけのようです。そのため、AIR 3.5 ベースにアップデートすることで、アプリから既存の共有オブジェクトが見えなくなるケースが発生するものと考えられます。
具体的に、共有オブジェクトのファイル名のルールには以下のような違いがあります。
- AIR 3.4 : app-xml ファイル内の <Filename> タグの値
- AIR 3.5 : app-xml ファイル内の <Content> タグの値
Content タグの値は、iOS アプリのルートの SWF のファイル名です。
従って、共有オブジェクトを使用する iOS アプリを AIR 3.5 SDK を使って開発する場合、ルート SWF ファイル名を <Filename> タグの値と同じにすれば、AIR 3.4 と共有オブジェクトのファイル名は同じ、という状況を作ることが出来ます。
例えば、AIR 3.4 のときの設定が以下のようであったとしたら、
<Filename>MysharedObject</Filename> <Content>Root.swf</Content>
AIR 3.5 では、以下のような記述になればよいわけです。
<Filename>MysharedObject</Filename> <Content>MysharedObject.swf</Content>
ちなみに、共有オブジェクトの置かれている場所は以下のフォルダです。これは AIR 3.4 でも AIR 3.5 でも変わらないようです。
AppName/Library/Application Support/x.x.x/Local Store/#SharedObjects/
追記 (2012/12/17)
AIR 3.6 のベータ版ではこの件に対応済みのようです。AIR 3.5 で問題があった場合は、試してみるとよいかもしれません。
コメントする