Flash Player および AIR バージョン 22 のベータ版が更新されました。(Adobe AIR@Labs)
先月公開されたときは AIR ランタイムからの Flash Player 削除のみが変更点でしたが、今回はいくつもの機能追加が行われています。
- モバイル環境でも Contex3D.setRenderToTexture を使い、ハードウェア機能によるアンチエイリアスが可能に
- iOS 上での getEnhancedMicrophone を使ったエコーキャンセルに対応
- Android N ベータへの対応
- Windows デスクトップ環境で AIR アプリが HiDPI をサポート
- 画面上に表示される AIR コンテンツを stage.contentsScaleFactor により拡大縮小
- LSO などを Roaming ではなく Local 以下に配置するフラグ EnableLocalAppData を mms.cfg に追加 (Windows)
- Mac 上で Flash Player のベータ版と正規リリース版の共存を禁止 (Windows 環境ではバージョン 14 から適用されていた制限)
- Flash Player 及び AIR の言語設定を上書きするための属性 DefaultLanguage を mms.cfg に追加
また、以下の機能がベータ版限定の機能として追加されています。これらが実際に使えるようになるのは少し先のバージョンになりそうです。
- Flash Player でも VideoTexture を利用可能に (Stage3D コンテンツでハードウェアデコードしたビデオを扱える)
- iOS 9 から拡張されたマルチタスク機能への対応
モバイル環境での Contex3D.setRenderToTexture は、現時点では configureBackbuffer とは使えないようです。また、この機能は GPU メモリを追加で使用するため、アプリによってはパフォーマンスに影響が出るケースもあるだろうという話です。
エコーキャンセルも、デスクトップ上で利用可能だった機能を iOS 環境でも利用可能にしたものです。MicrophoneEnhancedOptions による指定は無視されるのと、iOS のバージョンや機種によりパフォーマンスに差が出ることが注意点とされています。また、VOIP は RTMP 上のみで動作可能だそうです。
Windows 環境での HiDPI サポートは、既に Mac 環境では利用可能だった機能です。以下の指定をすると有効になります。
<requestedDisplayResolution>high</requestedDisplayResolution>
AIR iOS のマルチタスク機能拡張 (ベータ限定)
iOS 9 では、iPad 上で、スライドオーバー、スプリットビュー、ピクチャーインピクチャーの 3 つのマルチタスク機能が新たに使えるようになりました。AIR 22 ベータ版には、これら 3 機能のうち、スライドオーバーとスプリットビューに対応する機能が追加されています。 (ピクチャーインピクチャーには未対応)
これらの機能を使うには、アプリケーション記述ファイルへのタグ追加と、Assets.car 及び storyboardc ファイルの作成を行います。
アプリケーション記述ファイルに追加されたタグは、multiasking, launchScreen, assetsCar の 3 種類です。multiasking のデフォルト値は false のため、これを明示的に true にします。
<iPhone> <multitasking>true</multitasking> <launchScreen>LaunchScreen.storyboardc</launchScreen> <assetsCar>Assets.car</assetsCar> ... </iPhone>
launchScreen と assetsCar は、それぞれ対応するファイル名を指定するのに使用します。launchScreen の指定は必須ですが、assetCar はオプションです。iOS 8 以降のデバイスでは、これらのファイルが起動時の画像としても使われます。
アップルのガイドラインでは、マルチタスク環境で動作するアプリは全てのオリエンテーションに対応することが要求されるようなので、以下のタグ指定も必須になります。アプリ側では、リサイズのイベントに対応する適切な処理の記述が必要ということになります。
<aspectRatio>any</aspectRatio> <autoOrients>true</autoOrients>
Assets.car と storyboardc ファイルは、Xcode 7.1 以降を使い、iOS 8 以降をターゲットにした起動画面だけのアプリを作成、.app ファイルから Assets.car を、Base.lproj フォルダから Screen.storyboardc をコピーして使うという想定のようです。
以上の準備ができたら ADT コマンドを使って AIR アプリをパッケージします。コピーした 2 つのファイル名はコマンドラインの最後に追加すれば OK です。
adt -package -target ipa-app-store ... foo.ipa foo.xml foo.swf LaunchScreen.storyboardc Assets.car
コメントする