SISフォーマットを利用すれば、SWFアプリケーションファイルをあらゆる別途ファイル(TXTファイルなど)とともにパッケージ化し、Symbianデバイス用の単一のインストーラファイルにまとめることができます。この記事では、Symbian OS上で動作するFlash LiteアプリケーションのためのSISファイルを作成する方法を、手順を追って紹介します。まず、付属のサンプルファイルの内容とSISファイルを作成するために必要な開発ツール・スクリプトについて解説し、その後SISファイルの作成方法とファイルの動作確認方法について紹介します。
アプリケーションが大きくなるとFlash Liteのメモリが不足し、アプリケーションがクラッシュすることがあります。このようなメモリ不足を防止するには、アプリケーションのパーツを個別のファイルに収録し、これらを実行時に読み込ませる必要があります。サンプルアプリケーションのArcade Heroes*(この記事のサンプルファイルとして収録)には、メインメニューと個々のゲームの読み込み処理を収録したメインのSWFファイルが1つ含まれています。そしてゲーム自体は、サブフォルダのgamesフォルダに配置されています。この記事で紹介するサンプルには、3つのファイルと1つのサブフォルダが含まれています。 これらをデバイス端末にインストールするには、ファイルを個別に端末へと送信すればよいものの、ユーザはデバイス上でディレクトリ構造を再現し、各ファイルを個別にセットアップしなければなりません。インストールファイルのSISファイルを作成すれば、このような手間が回避できます。
SISファイルはSymbian OSのS60 2nd Edition / 3rd Editionを利用する、Flash Lite 1.1およびFlash Lite 2.0搭載携帯電話機種で使用できます。
このチュートリアルをフォローするには、次のソフトウェアがインストールされている必要があります。
make_sis_explained.zip (ZIP, 1.3M)
記事のはじめにリンクを用意したmake_sis_explained.zipファイルには、Nokia 2nd、3rd Editionの両プラットフォームで利用可能なSISファイルを作成するための、すべてのツールが含まれています。 これらのツールは完全版のSymbian SDKにも収録されています。Symbian SDKはこちらからダウンロード*してインストールできます。
どのバージョンのSDKが必要であるかは、パブリッシュ対象のデバイスによって異なりますので、次のURLに掲載されているリストを確認するようにしてください:http://www.symbian.com/developer/index.html
make_sis_explained.zipアーカイブには以下のファイルが収録されています。
| ArcadeHeroes.swf | SWFコンテンツ |
| games/invaders.swf | SWFコンテンツ |
| games/pacman.swf | SWFコンテンツ |
| Arcade1_2nd_edition.SIS | Nokia S60 2nd Edition SISパッケージ |
| Arcade1_3rd_edition_signed.sis | Nokia S60 3rd Edition署名済みSISパッケージ |
| Arcade1_2nd_edition.pkg | Nokia S60 2nd Edition SISパッケージのデスクリプタ |
| Arcade1_3rd_edition.pkg | Nokia S60 3rd Edition SISパッケージのデスクリプタ |
| makesis.php | PHPスクリプト |
| mykey.key | makekeys.exeを使って作成した証明鍵のサンプル |
| mycert.cer | makekeys.exeを使って作成した証明書のサンプル |
| makekeys.exe | 署名鍵を作成するためのSymbianアプリケーション |
| signsis.exe | SISファイルを署名するためのSymbianアプリケーション |
| makesis1.exe | Nokia S60 2nd Edition用のSISファイルを作成するためのSymbianアプリケーション |
| makesis2.exe | Nokia S60 3rd Edition用のSISファイルを作成するためのSymbianアプリケーション |
SISファイルを作成するための主要ツールがmakesisです。このアプリケーションは、PKG構成ファイルに定められた詳細に基づいてSISファイルを出力します。サンプルファイルの中には、SISの生成を自動化する際に利用できるPHPスクリプトも用意してあります。このスクリプトは、複数のファイルが派生するシンプルな単一言語プロジェクトを開発する際、あるいはPKGファイルを作成したくない場合にも利用できます。同様の処理を行えるツールとしてはSWF2SIS、sisarおよびunSisも挙げられます。
先程触れたように、筆者が提供するPHPスクリプトは、プロジェクトのSISと構成PKGファイルの両方を生成することができます。 makesisではなく、このPHPスクリプトを使用することには、次のような利点があります。
このPHPスクリプトの短所は、複数の言語を用いるプロジェクトに対応する際、編集作業が発生するという点です。 またSISを作成する際、このスクリプトはmakesisを呼び出すので、いずれにしろmakesisをインストールする必要があります。
以下に、メインのSWFファイルをもとにSISファイルを作成する、PHPスクリプトのアウトラインを示します。 Symbian 2nd Editionおよび3rd Editionデバイスにインストールする際、サブフォルダのすべてのSWFファイルを指定するようにします。
"appName"=> "Arcade1" // The name of your application "vendor"=> "Sprite" // The name of your company "player"=> "2" // The version of the flash lite player your application is for // (1.1 or 2) "appUID_2nd" => "0x10207F05" // The UID of the application for 2nd Edition platform (get your block of id's at the symbian website) "appUID_3rd" => "0xA0000001" // The UID of the application for 3rd Edition platform // (get your block of ID's at the symbian website) "flashFolder_2nd" => "!:\\Nokia\\Others\\", // the folder where the swf files will be installed on Series 60 2nd // Edition handsets. "flashFolder_3rd" => "!:\\Others\\", // the folder where the swf files will be installed on Series 60 3rd // Edition handsets. "S60ProductID" => "0x200005F9" // See the ID's at http://www.newlc.com/Common-products-UIDs.html "sign_password" => "yourpassword" // The password you used with makekeys $subFolder = "games"; // The name of the subfolder which contains additional swf files $MainSWF => "ArcadeHeroes.swf"; // Your main swf file
3rd Editionプラットフォーム用のSISを作成する場合、どのプラットフォームあるいはデバイスが対象であるかを指定する必要があります。 プラットフォームまたはデバイスのUIDをhttp://www.newlc.com/Common-products-UIDs.htmlから入手してください。
3rd Editionプラットフォームの場合、SISファイルを署名する必要もあります。 署名がない場合、デバイスはこのファイルを受け入れません。 SISファイルを署名するには、まず鍵を作成します。 鍵の作成にはmakekeys.exeを使用します。 次のコード構文を利用し、後は画面の案内に従います。
makekeys -cert -password yourpassword -len 2048 -dname "CN=Your Name OU=Development OR=Your Company Ltd CO=GB EM=your@email.com" mykey.key mycert.cer
SISファイルを作成するには、筆者が用意したPHPスクリプトを実行します。 このスクリプトをテキストエディタで開き、皆さんのプロジェクトの内容に合うよう、各種パラメータを調整します。 スクリプトを実行するには、次のコマンドをコマンドラインに入力します。
php makesis.php
すべてが適切に実行されると、以下の出力が表示されるはずです。
Creating Arcade1_2nd_edition.pkg ... Including games/invaders.swf Including games/pacman.swf Processing Arcade1_2nd_edition.pkg... Created Arcade1_2nd_edition.SIS Creating Arcade1_3rd_edition.pkg ... Including games/invaders.swf Including games/pacman.swf Processing Arcade1_3rd_edition.pkg... Created Arcade1_3rd_edition.SIS SIGNSIS Version 4, 0, 0, 1 A utility for signing Software Installation (SIS) files. Copyright (c) 2004 Symbian Software Ltd. All rights reserved. Signing Primary: Issued by Alex Michael. Issued to Development. Valid from 16/08/2006 to 16/08/2007. Done!
パッケージを手動で作成したい場合は、デバイス上のどのフォルダにファイルを配置するかの情報や、アプリケーションの名前とUID、プラットフォームまたはデバイスのベンダーとProductID(3rd Editionプラットフォームデバイスのみ)を記述した、独自のPKGファイルをカスタム作成する必要があります。パッケージを手動で作成するための手順は以下の通りです。
パッケージファイルをパラメータに指定してmakesisを実行します。
makesis yourpackagefile.pkg
PKGファイルと同じフォルダにSISファイルが作成されます。
signsis.exeを使ってパッケージファイルを署名します。
signsis -o -s -v yoursisfile.sis yoursignedsisfile.sis mycert.cer mykey.key yourpassword
ここの mycert.cer と mykey.key はmakekeys.exeを使って以前のステップで作成したファイル、そして yourpassword は鍵を作成する際に入力したパスワードです。
開発対象のデバイスによって、フォルダ構成が異なります。Nokia N70上で作成したアプリケーションを表示させるには、該当ファイルをNokia/Othersにインストールする必要があります。 Nokia N80の場合は、Othersに配置します。
N70 – Nokia\Others
N80 – Others //warning: install this in a folder called others not other.
Nokia N80の場合はメモリカード上に、Nokia N70の場合は電話のメモリ上にそれぞれインストールする必要があります。
携帯デバイスで動作するArcade Heroes(ゲーセンスタイルのゲーム)のソースファイル、ならびにFlash Lite 1/1.1/2.0対応ゲーセンスタイルゲーム5本に興味をお持ちの場合は、筆者が執筆した解説書『Animating with Flash 8: Creative Animation Techniques*』を購入し、付録のCDを参照してください。
Alex Michael:モバイルベースのソリューション開発を専門に手掛ける新興メディアカンパニー、Sprite Interactive Ltd.の社長を務める。現在の取引先はVodafone、Orange、T-Mobile、ESPN、Disney、Jamba、Jetixなど。モバイルゲーム・アプリケーション・モバイルペットなど、Sprite社の作品集は製品ショーケースサイトのwww.Handyx.net*でご覧いただけます。