Category Archive: FlashIDE

[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に戻しておきましょう。


まとめ。
中途半端な親切はかえって迷惑。

[iPhone]Packager for iPhoneで書き出したipaファイルを実機転送すると署名が有効ではないと怒られる場合

FlashCS5の目玉機能iPhoneアプリの書き出し。
これの実機転送ができずに半年くらい途方にくれてましたが本日ようやく解決。

Windowsじゃできないんじゃないとの疑惑さえ沸いてましたがなんてことはなく、手順が悪かっただけでした。
ちなみに実機への転送は、Appleのデベロッパー登録が必要です。
(年間10800円 )

やり方はAdobeの提供してるPDFファイルを読めばできるはずなのだけども、ボクのケースでは一箇所だけ書いてある手順でできなくて、そこで勘違いしてずーっとハマってました。

ハマった項目、それは開発証明書ファイル( 拡張子 .p12 ) の設定です。
上記PDFには、

Mac OS での iPhone 開発用証明書の P12 ファイルへの変換
Apple iPhone 証明書を Apple からダウンロードしたら、P12 証明書形式に書き出します。Mac® OS でこれを行う手順は次
のとおりです。
1 アプリケーション/ ユーティリティフォルダー内にあるキーチェーンアクセスアプリケーションを開きます。
2 証明書をキーチェーンにまだ追加していない場合は、ファイル/読み込みを選択します。次に、Apple から取得した証
明書ファイル(.cer ファイル)に移動します。
3 キーチェーンアクセスの「分類」で「鍵」を選択します。
4 使用している iPhone 開発用証明書に関連付けられている秘密鍵を選択します。
秘密鍵は、ペアになっている iPhone Developer: [ 名] [ 姓] 公開証明書によって識別されます。
5 ファイル/書き出すを選択します。

6 .p12(Personal Information Exchange)ファイル形式で鍵を保存します。
7 この鍵を別のコンピューターに読み込むときに使用するパスワードを作成するよう指示があります。

とありますが、僕のmacの環境にはこれがありませんでした。
( iPhone Distribution しかない。。)

仕方ないので、 iPhone Distributionの証明書を書き出して、それを使ってFlashCS5でiPhoneアプリ形式での書き出しを行ったわけです。
これはエラーもなく、ipa形式のファイルを作ってくれます。
が、正規の手順どおりにiTunesから実機に同期しようとすると、つぎのようなエラーがでるのです。
署名者が有効でないため ~ インストールできませんでした。

わけわからんですよ。
そこでAdobeの指示は無視して、keychainの分類で、ではなく、証明書の項目を見てみます。
するとiPhone Developperというそれっぽい項目がありました。

結論としては、ここでの証明書の項目(上記画像で選択されている部分)を.p12形式で書き出せば上手くいきます。

・・・ここでは罠があります。
秘密鍵の項目(上記画像で選択されている部分の一つしたの部分 )を.p12形式で書き出すこともできるのです。
この.p12ファイルを使っても、FlashCS5からはipa形式のファイルを書き出すことができます。
が、iTunesの同期で上に書いたようなエラーがでるのです。
(これでずーっとはまってた)

結論としては、書き出すファイルは、秘密鍵ではなく、証明書なんですよね。
AdobeのPDFではそのへんが明確に書いてないのでよくわからんのですよ。

でも、ググっても困ってる人の情報はぜんぜんないのですよね・・・
皆一発でできてるのかしら・・・
単に私がアンポンタンなだけなのかしら・・・
とにかく、この記事が同じ悩みがある人の助けになれれば幸いです。

P.S.
そして、書き出したアプリは予想以上に重かったw

[FlashIDE]ダイナミックテキストへのフォント指定について、CS4とCS5では挙動が変わったみたい

ダイナミックテキストへのフォント指定での挙動について。
CS5から挙動が変わってることに気付いたのでメモ。

◆手順
1.FlashIDEにて、ステージにダイナミックテキストを置く。
2.ダイナミックテキストに何か文字(ここでは”あいうえお”とする)を入力。
3.ダイナミックテキストに任意のフォント(ここではA-OTF 新ゴ Pro Bとする)を指定。
(ここでフォント:A-OTF 新ゴ Pro Bは埋め込まない)
4.パブリッシュ
5.フォント(A-OTF 新ゴ Pro B)が入っていないPCで表示を確認。

◆結果
・CS4でパブリッシュした場合
→文字が、デバイスフォントで表示される。
・CS5でパブリッシュした場合
→文字が、指定フォント(A-OTF 新ゴ Pro B )で表示される。

つまり、CS4ではフォントの埋め込みは行われないが、CS5ではフォントが埋め込まれている。
またここでは、入力した文字(あいうえお)のみが埋め込まれているので、動的にtextを変更しようとしても使える文字は”あいうえお”だけとなる。

というわけで、これをCS4でも同様の挙動をさせるには、

1.ダイナミックテキストを選択
2.プロパティパネルの「文字の埋め込み」をクリック
3.「自動読み込み」ボタンをクリック。
→ダイナミックテキストの文字列(ここでは”あいうえお”)が埋め込み対象文字となる。
4.「OK」をクリック
これでOK。

つまりCS5からは、上記の埋め込み作業を自動でやってくれるようになったようだ。
嬉しいような、こんがらがるような。。。