[AIR]FlashCS5で作ったAIR用flaファイルをCS6で編集しようとするときの罠
ちょっとハマったのでメモしときます。
Windows版での話です。(mac版は持ってないのでわかりません。。)
FlashCS5で作ったAIR用(AIR2.0)flaファイルをFlashCS6で開いてムービープレビューしようとするとどうなるか。
何もおきません。
エラーもでません。
SWFのウィンドウも表示されません。
もう一度いいます、何もおきません。
パソコン再起動してもムービープレビューできません。
仕方ないのでCS6では保存せずにCS5で開いてムービープレビューしてみます。
何もおきません。
エラーもでません。
SWFのウィンドウも表示されません。
もう一度いいます、何もおきません。
なにこれ、ばかなの、死ぬの、という言葉が頭を巡りました。
んで結論からいうと[ファイル名-app.xml]に不具合が起きていました。
通常app.xmlはIDE側で各パラメーターを設定すればそれがapp.xmlに反映されるものなので中をみなくてもいいものだったりします。
まずはCS5で作ったflaファイルをCS6で開こうとすると
こんなアラートがでて、ターゲットがAIR3.2 for Desktopに変更されます。
でそれに伴いapp.xmlの2行目のairsdkのバージョンの項目も3.2に修正されます。
<!-- hoge-app.xmlの2行目 --> <application xmlns="http://ns.adobe.com/air/application/3.2">
親切ですね!
でもムービープレビューできません。
なぜでしょうか?
それはAIR2.0からAIR2.5へ変わる際に1箇所app.xmlの仕様が変更になったからです。
具体的にはapp.xmlの4行目。
<!-- AIR2.0以下での4行目 --> <version>1.0</version> <!-- AIR2.5以上での4行目 --> <versionNumber>1.0</versionNumber>
varsion要素がversionNumber要素に変わったようです。
ここの変更はFlashCS6は自動で直してくれません。
不親切ですね!
というわけでxmlのここの部分を修正してあげるとFlashCS6でムービープレビューができるようになります。
さてもう一点、
CS6で開いたflaファイルを保存せずに閉じて、CS5で開き直したらムービープレビューできなくなってしまう件。
これもxml2行目の部分が原因です。
先ほどCS6で開いた時点で、sdkバージョンの項目が3.2に書き換えられました。
でもCS5で開きなおしたときにはとくに何のアラートも表示されません。
パブリッシュ設定上はAIR2.0設定になってるんですが、app.xmlをみてみると2行目は3.2のままです。
どうやらCS5では自動で修正してくれないようです。
不親切ですね!
というわけで一度CS6で開いてしまうとxml2行目が書き換わってしまうので手動で修正してあげましょう。
あと4行目のversion,versionNumbber要素の部分も当然CS5は自動で書き直してはくれないのでversionに戻しておきましょう。
まとめ。
中途半端な親切はかえって迷惑。
Tweet