AIRの最近のブログ記事

Flash Player 10.1 と AIR 2 から、セキュリティ関連の新しい機能が追加されました。他のドメインから読み込むファイルの種類を制限できる機能です。

セキュリティドメイン

新機能の前に、セキュリティドメインについて確認です。

セキュリティドメインは、Flash Player に読み込んだ SWF ファイルを管理するための機能です。同じセキュリティドメイン内のリソースには自由にアクセスできますが、他のセキュリティドメイン内のリソースには (通常) 勝手にアクセスできないようになっています。

基本的には、SWF ファイルの置かれているサーバーのドメインごとに、セキュリティドメインが作られます。例えば、最初に読み込まれた SWF ファイルと、その SWF ファイルが読み込んだ SWF ファイルが、それぞれ別のサーバーから読み込まれた場合、2 つのセキュリティドメインがつくられます。そして、2 つの SWF ファイルは、それぞれ対応するセキュリティドメイン内に置かれます。

"基本的に" と書いたのは、外部ドメインのファイルを、ファイルを要求した SWF のセキュリティドメインに読み込む手段があるからです。以下の 2 つの API が提供されています。

1 つ目は、LoaderContext.securityDomain 属性に、読み込む側のセキュリティドメインである SecurityDomain.currentDomain を設定してから Loader.load() メソッドを呼ぶ、というものです。これで、外部ドメインのファイルでも、load() を呼んだ SWF と同じセキュリティドメインに読み込まれます。下はそのサンプルです。

var ld:Loader = new Loader();
var lc:LoaderContext = new LoaderContext();
// 読み込む側のセキュリティドメインを指定
lc.securityDomain = SecurityDomain.currentDomain;
// 第2引数にLoaderContextを指定
ld.load(new URLRequest("http://not.my.domain.jp/foo.swf"), lc);
 

かなり遅くなってしまいましたが、Flash Player 10.1 からセキュリティ上の理由で変更された仕様関連の情報です。変更は全部で 4 つあります。

まず、以下の 3 つは、既存のコードに影響が出る可能性のある変更です。

リダイレクトされた URL の切り捨て

1 つ目は、SWF ファイルやイメージを読み込んだ後に、読み込んだファイルの URL がドメイン名までしか見えなくなる、というものです。

この影響を受ける属性は、AS 3 では LoaderInfo.url と Sound.url それから AS 1 / AS 2 では MovieClip._url です。これらの属性値が、例えば、http://sample.jp/xxx/yyy/my.swf のはずなのに http://sample.jp/ になっている、という場合が起こりえます。

この状況が起きるのは、以下の 3 つの条件すべてが揃った場合です。

  1. ファイルの読み込み中に HTTP リダイレクトが発生
  2. ファイルを要求した SWF のドメインと、読み込まれたファイルのドメインが異なる
  3. ファイルを要求した SWF が、読み込まれたファイルへのアクセス許可を持たない

リダイレクトが発生した場合、リダイレクト後のURL 情報を見せない、というのが新しいセキュリティポリシーのようです。

URL 情報が一部隠されているかどうか、を知らせるため、AS 3 には新しい属性が追加されています。LoaderInfo.isURLInaccessible と Sound.isURLInaccessible の 2 つです 。AS 1 / AS 2 には、状況を示す属性の追加はありません。

リダイレクトされて (条件 1 を満たす) 他のドメインからファイルを読み込んだんだけど (条件 2 を満たす) URL が知りたい!というときは、ファイルへのアクセス権を与えます ( 条件 3 を満たさなくなる)。 設定方法は、読み込むファイルのフォーマットによって異なります。

読み込んだファイルが SWF の場合は、読み込まれた SWF が Security.allowDomain (AS 3) または System.security.allowDomain (AS 1 / AS 2) を実行します。これにより、ファイルを要求した SWF にアクセス権を与えます。

読み込むファイルがイメージやサウンドの場合は、サーバー上のポリシーファイルを使ってアクセス許可を設定します。その際、読み込む側の SWF が AS 3 の場合には、LoaderContext.checkPolicyFile や SoundLoaderContext.checkPolicyFile の値を true にして、確実にポリシーファイルが読み込まれているようにするのが良いでしょう。

なお、この変更は AIR 2 のアプリケーションコンテンツには影響しません。Flash Player 10.1 上で実行される全ての SWF ファイルと、AIR 2 の非アプリケーションコンテンツが影響を受けます。

今回の変更は大きく 2 点です。

まず、Mac 版に、ハードウェアを利用した H.264 ビデオの再生機能が追加されました。この機能は、OS X 10.6.3 以降の Apple Video Decode Acceleration framework がサポートされる Mac 上で利用可能です。より詳しい機種情報は、以前の記事をご参照ください。

それから、セキュリティ関連の修正が行われました。

修正された問題は 6 つで、重要度は非常に高いため、すみやかに最新版へのアップデートが推奨されています。対象となるのは、全てのプラットフォーム (Android 版を除く) の Flash Player 10.1.53.64 以前の全てのバージョンと、Adobe AIR 2.0.2.12610 以前の全てのバージョンです。

Flash Player 10 のサポートされない環境 (Windows 98, Windows ME, OSX 10.1-10.3, RHEL 3 & 4) 用に、Flash Player 9.0.280 もあわせて公開されています。

ダウンロードページは、

です。

デバッグ版とスタンドアローン版は、Flash Player Support Center からダウンロードできます。Flash CS3 Professional と Flex 3 用に、Flash Player 9.0.280 も同じページにあります。

今年も Adobe AIR Contest が行われます。

優秀作品には、Adobe MAX 2010 (2010 年 10 月/米国ロサンゼルス)へのご招待や Adobe Creative Suite 製品の贈呈などあるそうです。審査対象は、2009 年 9 月 1 日 ~ 2010 年 8 月 31 日までに Adobe AIR Gallery に登録された AIR アプリケーションです。あと 2 ヶ月ほどありますので、まだの方は奮って応募してください。AIR Gallery への登録申し込みフォームはこちらです。

審査には AIR Gallery の人気度や閲覧数などのユーザ評価 (閲覧数は掲載期間を考慮) も加味されるそうです。 ユーザ評価は2010年9月5日までですので、どんなアプリがあるのか興味のある方は AIR Gallery を覗いてみて下さい。

参考までに、最近正式に公開された AIR 2 の新機能はこちらです。(Adobe AIRの機能

flash.sensors は Flash Player 10.1 から追加された新しいパッケージです。

このパッケージには、デバイスのセンサーから情報を取得するためのクラスが定義されています。今のところ以下の 2 つがあります。

AIR 2 のランタイムに続き、AIR 2 の SDK が公開されました。Adobe のサイトからダウンロード可能です。(Adobe AIR SDKのダウンロード

AIR 2 SDK を使用するには、既存の SDK を置き換える必要があります。Flash Builder および Flash Professional CS4, CS5 の設定方法については、Adobe AIR 開発者向けリリースノートに記述されて います。(Flash Builder および Flash Professional での AIR SDK の使用

現在、Flash Professional や Flash Builder のコンパイラは、AIR API のバージョンチェック機能を持ちません。そのため、最新の開発環境である Flash Professional CS5 や Flash Builder 4 では、AIR 1.5 など古いバージョンの AIR アプリケーションを開発する場合でも AIR 2 の新しい API の参照やコンパイルができてしまいます。ですが、そのような AIR 1.5 アプリケーション (AIR 2 から追加された API を使った) の動作は、当然保障されません。

という理由から、Flash Professional CS5 や Flash Builder 4 をお使いの方には、最新の AIR SDK への更新が推奨されています。

Flash Professional CS4 で AIR 2 アプリを開発する場合は、アプリケーション記述ファイル内の名前空間を "http://ns.adobe.com/air/application/2.0" に手動で書き換える必要があります。Flash Professional CS4 の機能は今までどおりなので、その点だけご注意ください。もしかすると、Flash Professional CS4 は AIR 1.5 アプリのメンテ用に残しておくのが良いかもしれませんね。

その他詳細は、リリースノートをご覧ください。

 

Flash Player 10.1 と AIR 2 が正式に公開されました。

今回公開されたのは Flash Player, AIR どちらも Windows, Mac, Linux 版です。

Android 版については、Flash Player 10.1 は今月末を目処に公開が予定されているとのことです。AIR 2 はまだ具体的な情報が公開されていません。

Flash Player のデバッグプレーヤーとスタンドアローンプレーヤは US のサポートセンターからダウンロードできます。日本のサイトも直ぐに更新されると思いますがとりあえずはこちらをお使いください。(Adobe Flash Player Support Center Downloads

Flash Player 10.1 のベータ版をインストールしている環境では、一旦ベータ版の Flash Player をアンインストールしてからインストールする必要があるとのことです。アンインストール用のプログラムは、こちらもとりあえず US のサポートページからダウンロードできます。(How to uninstall the Adobe Flash Player plug-in and ActiveX control

それから、AIR 2 SDK は 6 月 15 日頃に公開予定とのことです。Flash Professional や Flash Builder など関連製品のアップデートも順次公開されることと思います。

新機能については、今までもお知らせしていたように、パフォーマンスや消費電力の改善、マルチタッチサポート、プライバシーモード追加、などなど盛りだくさんです。特に Mac の Flash Player は完全に Cocoa 対応になりました。Gala の機能はまだ含まれていません。

その他、詳しくはそれぞれの製品紹介ページをご覧ください。(まだ更新中みたいですが)

先日報告された脆弱性に対応した Flash Player と AIR に関する報告書が公開されました。(Security update available for Adobe Flash Player) 基本的には、本日公開された Flash Player 10.1 と AIR 2.0.2 にアップデートをするようにということです。

Solaris 版の Flash Player 10.1 はまだ公開されていませんが、Adobe Labs に公開されているプレリリース版を使用することが推奨されています。(Flash Player 10.1 for Solaris

また、Flash Player 10 のサポートしない環境のために Flash Player 9.0.277.0 も公開されました。(Flash Player 9 for Older Operating Systems

Flash Professional や Flex などの開発環境でも、Flash Player の更新が推奨されています。デバッグプレーヤーはサポートセンターからダウンロードできます。(Adobe Flash Player Support Center Downloads

Flash Player 10.1 (と AIR 2) の新機能であるマルチタッチとジェスチャーのサポートについて、まずは概要を少しばかり。

はじめに

既にご存知の方は飛ばしていただければと思いますが、Flash では新しい分野なので、最初に言葉の整理をしておくと、

  • タッチ: デバイスに触れた、移動した、離れた、などの個々の動作
  • マルチタッチ: 複数のタッチを同時に扱うこと
  • ジェスチャー: 複数の動作の組み合わせ (例: 指をデバイスに 「触れて」 から 「横に移動」 する)

という感じかと思います。

"タッチ" はマウスの代わりにデバイスに直接触れることにより行う入力行為です。「クリックしていない」 という状態が無いことを除けばほぼマウスと同じように扱うことができます。Flash Player 10.1 ではタッチによる操作を処理できるよう、新しく TouchEvent が追加されています。

マルチタッチに対応するには、複数の指で操作が同時に行われた時、個々の指の動きを識別できる必要があります。そのため、TouchEvent にはタッチポイントを識別するための ID が属性として定義されています。指がデバイスに触れてから離れるまでの間、その指からの TouchEvent には同じ ID が割り当てられます。

さて、ジェスチャーは、特定の動作に特定の意味を持たせるものです。例えば、2 本の指を反対の方向に広げる → 拡大表示、というのは良く知られたジェスチャーです。その他にも、円を描いたらメニューを表示するというジェスチャーの使い方もあるかも知れません。また、ショートカットキー代わりに画面に文字を書いたら対応するコマンドを実行するというジェスチャーもあるかもしれません。とりあえず識別可能な動作であればジェスチャーとして使用される可能性を持っています。

まとめると、タッチは、デバイスの機能として検出可能な操作、という理解でよいかと思いますが、ジェスチャーは、ユーザーがデバイスに対して行うことのできる動作の捕捉、と捉えることができそうです。デバイスにユーザーが合わせる (タッチ) とユーザーにデバイスが合わせる (ジェスチャー) というコペルニクス的な (ちょっと大げさ) 視点の転換が両者の間にはありそうです。

容易に想像できるように、利用できるジェスチャーはプラットフォームにより異なります。また、ジェスチャーの実装の仕方も、ジェスチャーの判別を行ってくれるプラットフォームがあれば、タッチイベントだけ通知してそれらからジェスチャーに組み上げる作業は開発者任せのプラットフォームもあります。Flash Player 10.1 では標準的なジェスチャーの発生を知らせるジェスチャーイベントがサポートされていますが、TouchEvent を使ってジェスチャー処理用のライブラリを開発するという方法も選択できるようになっています。

マルチタッチと環境について

GUI であればポインティングデバイスが使える、というのはもはや "当然のこと" として受け入れられているかと思います。一方、マルチタッチやジェスチャーはその歴史が浅いこともあり、きちんと使える環境はまだまだ限られています。Flash Player 10.1 がサポートする、だけではマルチタッチ/ジェスチャーの利用には十分では無いのです。

今週の Google I/O で Flash 関連の発表がいくつか行われました。以下、簡単なまとめです。

Android 向け Flash Player 10.1 パブリックベータ

Android 2.2 公開後に、Android マーケットから Flash Player 10.1 のベータ版がダウンロード可能になります。ブラウザ内で Web サイトを閲覧する際、デスクトップと同様に Flash コンテンツを表示可能です。既に発表されていた通り、Flash Player が対応するのは Android 2.2 以降の OS です。

環境をお持ちの方は、動作確認はもちろんパフォーマンスやバッテリーの消費具合なども確認してみてください。過去のブログに書いたように、デバイス向け Flash Player にはパフォーマンス向上のため、デスクトップ版には無い機能がいくつも実装されています。

Android 向け AIR プレリリースプログラム

AIR for Android の開発者向けプレリリースプログラムが始まりました。(Adobe AIR for Android@Labs) このプログラムに参加すると誰でもベータ版の AIR SDK を入手することができます。

ただし、このプログラム内で入手できる情報を一般に公開することはできません。誰でも参加はできますが、プライベートなプログラムのため、情報共有は参加者間のみに限定されます。この点 Flash Player パブリックベータとは異なりますのでご注意ください。また、このプログラムは英語のみでの提供になります。

プレリリースプログラムへの参加はこちらからどうぞ。(Adobe AIR - Android Developer Prerelease

プリリリースプログラムでは、Flash Professional CS5 から直接 Android 用にパブリッシュする環境を追加する機能拡張も提供されます。

VP8 のサポート

Google I/O で WevM プロジェクトの開始と VP8 ビデオコーデックのオープンソース化についての発表がありました。これに対し、同じく Google I/O のキーノートで、将来の Flash Player での VP8 対応について Kevin Lynch からポジティブな発言がされています。

Vorbis や Matroska については特に言及されていませんが、サウンドもライセンスフリーに向かうのでしょうか?あと、個人的には、VP8 ベースのエンコーダーが Flash Player に載ったりすると嬉しいのですが。(比較的軽いという噂なので)

Google TV の Flash Player 10.1 対応

Google I/O では Android ベースの家電である Google TV が発表されましたが、Google TV でも Flash Player がサポートされます。Google TV には Chrome がブラウザとしてインストールされており、Chrome には Flash Player が含まれることになっているため、Google TV では Flash Player が利用できるということのようです。これにより Google TV では殆ど全ての Web コンテンツが再生できることになります。 (Chrome に Flash Player を統合したのはむしろこっちのためではないかとちょっと勘ぐってしまったり)

下は、実際のデモで Flash Player 10.1 が Google TV 上で実行されている場面です。


ともあれ、Flash Player 10.1 から H.264 ビデオの再生にハードウェアの機能を利用できるようになったことで、映像を扱う家電やデバイスで採用しやすくなったことは確かのようです。Flash ユーザーにとってはより活躍できる場が増えそうですね。

 

既に Flash で制作された iPhone アプリケーションを目にした事のある人も多いかと思いますが、昨年秋に MAX2009 で発表された Packager for iPhone の仕組みについての説明を少しばかり。

Packager for iPhone は Flash の出力を iPhone 用に変換する機能を持っています。少し紛らわしいですが、Flash CS5 に iPhone アプリの書き出し機能がある訳ではなくて、Flash CS5 には "iPhone アプリの書き出しができる Packager for iPhone" との連携機能がある、が正しい理解です。

これは賢い選択だったのではないかと思います。というのは、iPhone OS のアップデートがあっても、Packager for iPhone だけが対応すればよいからです。

AIR 書き出しの仕組み

まずは、AIR アプリケーション開発の流れの確認から話を始めます。下が AIR アプリ開発の大まかなステップです。

  1. Flash Professional でアプリケーション開発
  2. SWF, application.xml, その他必要なリソースを生成
  3. 上記を一つにパッケージ
  4. パッケージに署名
  5. .air ファイルとして配布

AIR アプリを iPhone にインストールできないかと考えたときに、一番楽そうな方法は iPhone 用の AIR ランタイムを開発して配布、なのですが、これはできません。一番の問題は、iPhone ライセンスが、JIT (Just in Time) コンパイラーやインタープリターの使用を禁じていることです。そのため、SWF 内のバイトコードを VM が実行時に解釈するという AIR の実行モデル自体が許可されないのです。

だったら SWF を ARM 向けに事前コンパイルするしかないですね、というのは簡単な結論ではありますが、それにより、どのプラットフォーム上でも実行できるという AIR アプリケーションの持つ利点を放棄する事になってしまいます (EXE ファイルに変換すると、iPhone 専用モジュールになってしまうからです)。にもかかわらず英断が行われて、SWF 用の AOT (Ahead of Time) コンパイラーとして開発されたのが Packager for iPhone ということになります。

これも良い選択だったのではないかと思います。実行モジュールとして配布することにすれば、今のアプリケーション流通モデルにそのまま乗っける事ができますし、どのプラットフォーム用にも作れるという Flash オーサリング環境の優位性はまだ残ってているわけですし。

バルセロナで開催中の Mobile World Congress で Adobe からデバイス向け Flash Player 10.1 及び AIR に関する公式なアナウンスがありました。(Adobe Unveils AIR on Mobile Devices; Readies Flash Player 10.1 for Launch

Flash Player 10.1 と AIR 2.0 はデスクトップだけでなくデバイス上でも一貫した体験を提供するプラットフォームとして開発されています。Flash CS5 と Flash Player 10.1 / AIR が揃うと携帯やデバイス向けコンテンツ制作もずいぶん変わりそうですね。

デバイス向けは、まずは Android 用 からリリースされるようで、2010 年の後半までには Flash Player, AIR 共に正式版を公開予定との事です。とりあえずは、ベータ版を使った Android 上の AIR アプリデモがこちらのページからご覧になれます。(Flash Player 10.1 and AIR 2 mobile preview videos) 最初の 3 つくらいが Android です。iPhone アプリのビデオも載っています。

ちなみに iPhone 用アプリは Adobe Labs に公開されている Packager for iPhone を使ってiPhone 向けアプリとしてパッケージングします。このページ (Preview of AIR on Android) の下のほうにも新しい iPhone アプリがいくつかリストアップされています。

Packager for iPhone の方が Android 用 Flash Player より先に出るようなので、まずは iPhone アプリで新しい Flash Player の API を試してみるのがよさそうです。

Flash Player のセキュリティアップデートが公開されました。クロスドメインに関連する脆弱性に対応するためのものです。Flash Player 10.0.42.34 以前および AIR 1.5.3.1920 以前のバージョンを利用している環境では速やかに最新版に更新することが推奨されています。それぞれの最新バージョンは以下の通りです。

Flash Player: 10.0.45.2
Adobe AIR: 1.5.3.1930

Flash Player の場合は Flashコンテンツ上で右クリックして表示されるメニューから 「Adobe (または Macromedia) Flash Player について」 を選択すると、現在インストールされているバージョンを表示する Web ページが表示されます。

AIR のバージョンは以下のディレクトリを確認します。

  • Windows: \Program Files\Common Files\Adobe AIR\Versions\x.x の Adobe AIR.dll を右クリック、プロパティを表示して 「バージョン」 タブを選択
  • Mac OS X: /Library/Frameworks/AIR.framework/Versions/1.0/Resources/Info.plist ファイルを開き <key>CFBundleVersion</key> に対応するエントリー <string>1.5.x.xxxx</string> を探す
  • Linux: /opt/Adobe AIR/Versions/x.x/Resources 内のテキストファイルの記述を参照

ダウンロードはそれぞれ以下のリンクからどうぞ。

Flash Player ダウンロード: http://get.adobe.com/jp/flashplayer/
Adobe AIR ダウンロード: http://get.adobe.com/jp/air/

デバッグプレーヤーやオーサリング環境用は、Flash サポートセンターからダウンロードできます。(Adobe Flash Support Center/Downloads

Adobe Labs に AIR 2 の新しいベータ版が公開されました。(Adobe AIR 2@Labs) 下のリンクから実行環境と SDK がダウンロードできます。

いくつか新機能の追加もありますが、基本的には 「たくさんのバグ修正」 がベータ 1 からの主な違いだそうです。サイトには 「正規リリースも近くなっているので既存の AIR アプリケーションの動作検証を行って欲しい」 との記述もありました。

AIR 2 ベータ 1 で作ったアプリケーションは AIR 2 ベータ 2 の実行環境では実行できません。ベータ 1 のアプリは、アプリケーションの名前空間を "2.0beta2" に変更してから AIR 2 ベータ 2 SDK を使ってコンパイルし直す必要があるとのことです。

さて、ベータ 2 では以下の 3 つの新機能が追加されています。

  • 印刷関連の機能拡張
    印刷時のプリンターの選択、紙のサイズ、コピーの数の指定が可能に、プリンター情報(印刷可能領域、カラー/白黒、印刷中かどうか、等)の属性を追加 (PrintJob
    ベクター印刷/ビットマップ印刷の指定、解像度の指定が可能に (PrintJobOptions
    (win/mac のみ) ユーザーが指定可能な印刷ページ範囲の設定機能の追加 (PrintUIOptions
  • TLS/SSL ソケット
    TLSv1 と SSLv3 によるセキュアなソケット接続が利用可能に (SecureSocket
  • IME 機能拡張
    Flash Text Engine (FTE) をサポートするための API の追加:

その他詳しくは、リリースノート (英文です) と 開発者向け FAQ (こちらも英文) をご覧ください。

それから、Flex SDK のマイナーアップデート版 (3.5a) が公開されています。AIR 自動更新 UI のバグに対応するためのリリースになります。Adobe のオープンソースサイトからダウンロードできます。(Adobe Open Source/ Flex SDK Downloads

Flash Player と AIR のセキュリティアップデートが公開されました。重要な更新ということで、以前のバージョンをお使いの方は速やかにアップデートを行うことが推奨されています。

最新版のダウンロード URL はそれぞれ、

になります。

今回修正された箇所は、JPEG 読み込み時の問題点など全 7 件あります。詳細はこちらのドキュメント (英語です) をご覧ください。(Security updates available for Adobe Flash Player

あわせて、次のリリースになる Flash Player 10.1 が Mac PPC G3 をサポートする最後のバージョンになる予定であること、Flash Player 10.1 リリース後は G3 用のアップデートが行われない予定であることも発表されています。これは最新のパフォーマンス向上のための仕様が旧い PowerPC のアーキテクチャではサポートされないからとのことです。

AIR 2 ベータが Adobe Labs に公開されました。(Adobe AIR 2@Labs

ランタイムおよび SDK がこちらからダウンロードできます。(Adobe AIR 2@Labs download) Windows 2000 と Mac PowerPC を除き、AIR 1.5 と同じプラットフォームが対象になっています。

AIR 1.5 と AIR 2 は同時にインストールすることができませんのでご注意ください。アンインストールする場合、Windows では "プログラムの追加と削除" から Adobe AIR を選択、Mac の場合は /Applications/Utilities フォルダ内のアンインストーラを実行します。バグでない限り、AIR 1.5 で動く AIR アプリは AIR 2 上でも動作することにはなっています。

上記ダウンロードページからは、Dreamweaver CS3, CS4 用と、Fireworks CS4 用の AIR2 拡張機能もダウンロードできます。

Flash CS4 Professional は自分で SDK を入れ替えることになります。手順は、

  1. Flash CS4 Professional を 10.0.2 にアップデート。Help メニューからアップデートを選択すれば更新されます
  2. Flash CS4 Professional を実行中の場合は終了
  3. Flash CS4 のインストールフォルダーを開く。 Windows は "C:\Program Files\Adobe\Adobe Flash CS4\"、 Mac OS は "/Applications/Adobe Flash CS4/"
  4. ここで "AIK1.5" というフォルダが無かったら最初のステップに戻ってください
  5. "AIK1.5" フォルダを 削除するなり、別名で保存
  6. 新しく "AIK1.5" という名前でフォルダを作成
  7. ダウンロードした Adobe AIR 2 SDK を "AIK1.5" フォルダの下に展開
  8. "Adobe Flash CS4/AIK1.5/frameworks/libs/air/" フォルダから "airglobal.swc" ファイルを "Adobe Flash CS4/Common/Configuration/ActionScript 3.0/AIR1.5/" フォルダにコピー

です。

Flex の場合は、既存の Flex SDK をコピーしてから、ルートフォルダで AIR 2 の SDK を展開します。

Mac 上では旧いファイルを削除しないとアプリがクラッシュすることがあります。Flex Builder のインストールフォルダ内の /sdks/3.2.0/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources の下にある、MainMenu.nib, AuthDialog.nib, FlashPromptDialog.nib の削除をお勧めします。

さて、AIR 2 の新機能は先の記事でお伝えした Flash Player 10.1 のものに加えて、以下のものがあります。

  • マスストレージデバイスの検知
    USB メモリデバイスやカメラなどの接続を検知します。ファイルのアップロード用画面を自動表示するアプリなどに利用できます
  • ネイティブプロセス AIP
    OS のプロセスと標準入出力を使った通信ができます。これにより既存のアプリが利用できるようになります。(例えば "grep" コマンドを使ったファイル検索)
  • UDP のサポート
    UDP を用いたリアルタイム通信やマルチプレーヤゲームなどが開発可能です
  • ソケットサーバ機能と P2P
    AIR 2 を使ってローカルサーバを実現できます。これにより他のアプリケーションとネットワーク経由で通信することができます
    Flash Player 10 と AIR 1.5 から追加された RTMFP と違い、この機能はサーバ無しで P2P が実現できます

AIR 2 の正式なリリースは 2010 年の前半が予定されています。

その他詳細は、リリースノート (英文) をご覧ください。

つい先日 Adobe Reader と Acrobat 9.2 が公開されましたが、Reader/Acrobat 9.2 がインストールされた Windows 環境で、AIR アプリケーションが PDF ファイルを読み込もうとすると AIR アプリケーションが "固まる" という現象が起きることが確認されています。

この問題に対処するため、AIR の新しいバージョン 1.5.2.8900 が公開されました。PDF を開く AIR アプリケーションの開発者・利用者の方は、最新のバージョンを使用するようご対応をお願いします。(Adobe AIR ダウンロード

Windows 環境で現在インストールされているバージョンを確認するには、「プログラムの追加と削除」から Adobe AIR を選択し、「サポート情報を参照するには、個々をクリックして下さい。」をクリックします。1.5.2.8870 もしくはそれ以前のバージョンであれば更新が必要です。

例によって英文ですが、詳細はテックノートをご覧下さい。(AIR application not displaying PDF while using Adobe Reader/Acrobat 9.2 on Windows

Mac, Linux ユーザーの方はこの問題の影響を受けません。

MAX では AIR の次期バージョンにあたる、Adobe AIR 2 に関するアナウンスもありました。

AIR 1.5 に対する要望を元に多くの機能拡張が予定されているとのこと。今回は以下の機能が発表されました。

  • プロセス間通信 - 同一マシン上で実行されるアプリケーションと通信を行うための API が提供 (この機能を使うには AIR アプリを .exe や .dmg で配布する必要がある)
  • 外部記憶デバイスのサポート - AIR アプリから外部記憶デバイスの接続・切断を検知できる
  • ファイルオープン - ファイルと標準で関連付けられているアプリケーションを OS から起動できる
  • パフォーマンス改善 - 従来の AIR アプリそのままでも少ないメモリと CPU で実行可能
  • マイクの使用 - AIR アプリ実行中のマシンのマイクから音声を取得するための API を提供
  • 新しい入力方法 - マルチタッチ (Windows 7) とジェスチャー入力 (Windows 7, OS X 10.6) をサポート
  • 新しい WebKit - 高速化された JavaScript エンジンや、HTML5/CSS3 のサポート
  • ソケット機能強化 - ローカルサーバとしての使用が可能に

Adobe AIR のパブリックベータは今年中に公開予定とのことです。

まず、Adobe AIR 1.5.2 の Snow Leopard 対応について、AIR チームのブログによると、いまのところは以下の問題がひとつ報告されているだけで大きな問題は見つかっていないとのことです。

  • AIR SDK の bin ディレクトリから ./adl とコマンドを起動しようとするとファイルが見つからない旨のメッセージが表示され実行できない。PATH に adl を追加する、他のディレクトリからの相対パスを使う、絶対パスを使うことでこの問題を回避できる。

(話は逸れますが、AIR チームブログに紹介されている MLB.com OnBase を MLB に興味のある方にご紹介しておきます。表示が英語なのがちょっと難ですが。)

次に CS 製品についてです。公式サイトには CS3 製品のテストはされていないと記述されていますが、いくつかの製品チーム (Flash Professional, Photoshop, Illustrator, After Effects) から動作確認を行ったとのコメントが出されています。いずれも現時点での情報との前え置き付きで CS3 固有の問題は見つかっていないとのことです。

最後に、Snow Leopard 関連のテックノートが 2 つ公開されました。内容を簡単にまとめると、

1. Files may not open in original authoring application

Adobe 製品で作成したファイルをファインダーから開いたとき、別のアプリケーションが立ち上がることがある。ファイル拡張子を省略していると起きやすい。これは、Mac OS X 10.6 からファイルの関連付けの方法が変わったためとのこと。回避方法として、ファイル拡張子を使う、ファインダーからファイルとアプリケーションを関連付けを設定する等を紹介。

2. Applications crash when saving to file servers through SMB protocol

SMB プロトコルでマウントしたボリュームにファイルを保存するとアプリケーションがクラッシュすることがある。ファイルが大きいほどクラッシュしやすい。現在 Adobe は Apple と協力して対応中だが、当面の回避策としては、AFP など他のプロトコルを使いボリュームをマウントするか、一旦ローカルに保存してからリモートのフォルダに移動することを推奨。

Flash player 10.0.32.18 と Adobe AIR 1.5.2 が公開されました。どちらも、既知の脆弱性への対応及び主要なバグの修正を目的としたアップデートです。

脆弱性に関しては、今週お伝えした 2 点に対応がされています。詳細は、とりあえず英語ですが、こちらに記述されています。(Security updates available for Adobe Flash Player

最新版のダウンロード URL はそれぞれ、

です。

AIR の仕様の追加変更をいくつかご紹介します。新しい機能を使用する場合は、1.5.2 のネームスペース (xmlns="http://ns.adobe.com/air/application/1.5.2" ) を宣言します。

  • インタラクティブフルスクリーンモード (フルスクリーン表示状態でのキーボード入力をサポートするモード) で、エスケープキーを押してもフルスクリーンモードが終了しない設定を可能にするため KEY_DOWN イベントへの preventDefault をサポート
  • transparent=true が設定されたウインドウ内の HTML に読み込まれた SWF が表示されないという制限の改善
  • Capabilities.supports32BitProcesses と Capabilities.supports64BitProcesse によるシステム機能の確認
  • LocalConnection.isPerUser を使った LocalConnection に接続可能なユーザの設定。true の場合ログイン中のユーザのみ、false の場合誰でもアクセス可能。設定は Mac OS X のみで可能で、デフォルトは false。LocalConnection 使用時は常に true に設定することを推奨。他の OS では常に true になる。
  • System.disposeXML(xml:XML) メソッドの追加により、不要になった XML オブジェクトを直ぐにガーベッジコレクションの対象とすることが可能に
  • インストール画面の変更
  • Windows と Mac OS 上のネットワークタイムアウト時間が 60分に

その他の詳細情報はリリースノートがもうすぐ公開されると思いますので、そちらをご覧ください。以下の URL に公開される予定です。

Flash Player リリースノート (PDF)

Adobe AIR リリースノート

Flash Player 10.0.22.87 と AIR 1.5.1 がリリースされました。どちらもクリティカルなセキュリティ上の問題に対応するためのアップデートですので、できるだけ早く適用することをお勧めします。(http://get.adobe.com/jp/flashplayer, http://get.adobe.com/jp/air)

Flash Player 10.0.22 については、英文ですが Flash Player update available to address security vulnerabilities に対応されたセキュリティ問題の詳細が記述されています。(バッファのオーバーフローや入力検査時の問題等) ちなみに上記リンクの最後に Flash CS4 や CS3 用のデバッグプレーヤをダウンロードするためのリンクも書かれています。

その他のバグフィックスや機知の問題点についてはリリースノートをご覧ください。(Flash Player 10 Release Notes - pdf:2.1MB) 日本語で 「Flash Player 10.0.22.87 の修正点と改良点」 と書かれた箇所に 20 点ほど記述があります。あと、10.0.22.87 から Solaris サポートが追加されています。

AIR 1.5.1 は Flash Player 10.0.22 の搭載とバグフィックスが主要な変更点ですが、2 件だけ追加機能があります。

  • InvokeEvent.reason イベントにより、アプリケーションがユーザによって起動されたか、ログイン時に自動的に起動されたかを知ることができる
  • Capabilities.cpuArchitecture 属性から、コンピュータのプロセッサアーキテクチャ (「PowerPC」や「x86」などの文字列になる) を取得できる

これらの新しい機能を使用する場合は、アプリケーション記述子の名前空間の宣言を xmlns="http://ns.adobe.com/air/application/1.5.1" に更新します。

AIR 1.5.1 のリリースノートは以下の 2 つが公開されていますのでご覧ください。

開発者向け:http://www.adobe.com/support/documentation/jp/air/1_5_1/releasenotes_developers.html

ユーザ向け:http://www.adobe.com/support/documentation/jp/air/1_5_1/releasenotes_users.html

2010年8月

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
レンタルサーバー
Powered by Movable Type 4.261