S60 3rd Edition: アプリケーション開発
Article Metadata
Contents |
序文
S60プラットフォームは、世界におけるリーディング・スマートフォンのソフトウェア・プラットフォームで、進んだデータ・ケイパビリティと一緒に、豊富な機能を持つソフトウェアのベースを電話機に提供します。S60プラットフォームはアプリケーション間のマルチタスクをサポートしており、実行中のアプリケーション間の切り替えるためや、また他のアプリケーションが実行中に新しいアプリケーションを開始するためのユーザ・インターフェイスを提供します。
この文章の対象者は、アプリケーション開発者、コンテンツ・プロバイダ、システム・アーキテクト、仕様記述者、要求定義するマネージャ、製品マネージャや、S60プラットフォームを直接使用している人、その機能を使たアプリケーションを計画している人たちです。
この文書は、S60プラットフォームの紹介です。主に、S60プラットフォームに関するいくつかの概念について詳しく焦点を当てています。一方、 Nokia S60プラットフォームでのアプリケーション開発をどのように行うかの概要もあります。特に、S60 3rd Edtionでの開発について重視されています。S60 3rd Edtion は、最新のS60プラットフォームで、それ以前の物と開発プロセスやプラットフォーム・セキュリティに関して多くの違いがあります。
S60プラットフォームの概要
S60プラットフォームは、マーケットをリードするスマートフォンのプラットフォームで、Symbian OSがベースです。ますます増加する、高度な企業ユーザや消費者が期待する全てのキーとなるモバイル技術を、S60は含みます。そして、モバイル業界の全ての関係者に、収益の機会を提供します。S60プラットフォームは開発され、率先して多くの技術革新が開発・実装することで、スマートフォンの機能を利用できるようになりました。
S60 プラットフォーム・アーキテクチャ
次の図は、S60プラットフォーム・アーキテクチャの概要を示します。プラットフォームはSymbian OSをベースにしていますが、追加機能も提供します:
上図が示すように、S60プラットフォームはSymbian OSをベースにしており、常に進化しています。よって、S60プラットフォームには、異なるエディション(バージョン)があります。S60プラットフォームは、1st エディション, 2nd エディション、そして最新版の3rd エディションと進化しました。それぞれのエディションには、さらに異なるフューチャー・パックがあり、これは各リリースに機能を追加したものです。Symbian OSは、オープンな標準を基としており、結果として、Symbian/S60上の開発は、開発者にオープンになっています。 S60プラットフォーム向けの開発は、後方互換性がありますが、2ndエディションと3rdエディション間で絶たれています。これは、プラットフォーム・セキュリティとこのプラットフォームで使用される新しいコンパイラが導入されためです。
リリースとそれぞれのOSの一覧です:
- S60 1st Edition — Symbian OS v6.1.
- S60 2nd Edition — Symbian OS v7.0s.
- S60 2nd Edition, Feature Pack 1 — Symbian OS v7.0s.
- S60 2nd Edition, Feature Pack 2 — Symbian OS v8.0a.
- S60 2nd Edition, Feature Pack 3 — Symbian OS v8.1a.
- S60 3rd Edition — Symbian OS v9.1.
- S60 3rd Edition, Feature Pack 1 — Symbian OS v9.2.
- S60 3rd Edition, Feature Pack 2 — Symbian OS v9.3.
開発を始める前に、開発者は、Nokia Developerのwebサイト(www.forum.nokia.com/documents) を参照して、各エディションやフューチャー・パックのSymbian OS の詳細な機能を調べるでしょう。Symbian OSに関する更なる情報は、 にあります。
Symbian OS の拡張部分(Symbian OS Extensions)は、端末のハードウェア機能とのやり取りを、S60プラットフォームが出来るようにするための機能の集合です。例えば、バイブレーターや、端末のライト、バッテリー充電の状態などがあります。
S60プラットフォーム・サービスは、S60が提供する基本的なサービスです。例えば、以下のものがあります:
- アプリケーション・フレームワーク・サービス - アプリケーションやサーバーを起動や、状態の永続化の管理、UIコンポーネントの基本機能を提供
- UIフレームワーク・サービス - 具体的なルック'フィールのUIコンポーネントを提供と、UIイベントを処理
- グラフィック・サービス - 図を作成し、スクリーンに描画する機能を提供
- 位置サービス - S60プラットフォームで、端末の位置を知ることが出来るようになります。
- Webベース・サービス - ブラウジングやファイルのダウンロード、メッセージなどのWebベース機能に接続しやり取りするためのサービスを提供。
- マルチメディア・サービス - オーディオやビデオを再生、またストリームや音声認識の機能を提供。
- 通信サービス - Bluetooth技術から音声通話まで、ローカルと広範囲通信のためのサポートを提供
S60アプリケーション・サービスは、S60アプリケーションに使用される機能の集合で、またこれはサード・パーティの開発者も使用可能で、、アプリケーションの基本機能を提供します。例えば、"PIMアプリケーション・サービス"や"メッセージ・アプリケーション・サービス"、"ブラウザ・アプリケーション・サービス"があります。
S60 Java 技術サービスは、Java™ Platform, Micro Edition (Java™ ME)、Java Technology for the Wireless Industry (JTWI) 仕様 (JSR-185)をサポートします。S60プラットフォームは、Connected Limited Device Configuration (CLDC) 1.1 コンフィギュレーション(JSR-139) と、これを拡張するためのMobile Information Device Profile (MIDP) 2.0 (JSR-118)をサポートします。加えて、いくつかの追加APIも同様にサポートされます。
S60アプリケーションは、端末ユーザが利用可能なアプリケーションで、PIMやメッセージ、メディア・アプリケーション、プロファイル(モード)などがあります。
S60プラットフォームは、UIのスタイルとAPIを定義しています。しかし、スクリーン・サイズや入力方法は、規定していません。ライセンシーは、示威分のカスタマイズUIを自由に実装できます。UIのサイズは特に規定されていないので、開発者は、スケーラビリティに注意して、UIアプリケーションをプログラミングしなければいけません。スケーラブルUIが導入されて以来、S60 は3種類のスクリーン・サイズをサポートしています。176x208ピクセル、240x320ピクセル、352x416ピクセルです。そして画面は横向きにも立て向きにも出来ます。開発者は一度書くだけで(スケーラブルUIに注意して)、アプリケーションは異なるスクリーン・サイズで動作します。
S60に関する更なる情報は、以下のWeb サイトにあります:
http://www.s60.com/s60/html/index.html
http://www.developer.nokia.com/
http://www.developer.nokia.com.cn/ (Chinese)
S60 3rd エディションでの主な変更点
S60 3rd エディションで、いくつか大きな変更があり、重要な概念がいくつか導入されました。S60 3rdエディションで開発を行う前に、これらの概念を理解することはとても重要です。
簡略すると、S60 2ndエディションとS60 3rdエディションのもっとも大きな違いは、以下の点です:
- ARMアーキテクチャ用のABIコンパイラ
- リアル・タイム・カーネル(Symbian OS v9以降)
- プラットフォーム・セキュリティ
- シンビアン・サイン
- ツール類
ARMアーキテクチャ用のABIコンパイラ
S60 3rdエディション以降、アプリケーションをコンパイルするために、ARM®アーキテクチャ用のアプリケーション・バイナリ・インターフェイス(ABI)に基づいたコンパリラが使用されます。ARM C/C++ ABI は業界標準で、どのように実行オブジェクトとシェアオブジェクトが一緒に動作するかを定義しています。ARM ABIコンパイラ標準の採用で、S60プラットフォームは、メモリ使用量とデータへのアクセス・タイムの効率が増すことで、システムとサード・パーティのアプリケーションのパフォーマンスが増します。
リアル・タイム・カーネル
S60 3rdエディションのOSの基礎部分はSymbian OS v9.1 で、これは、新リアル・タイム・カーネルであるEPOCカーネル・アーキテクチャ2 (EKA2) が特徴です(EPOC はSymbian OSの昔の名前です。以前のカーネルはEKA1)。新しいマルチスレッドのカーネルは、多くのカーネル・サービスの実行時間が予測でき、また遅延時間が短縮されました。よって、このカーネルは、タイム・クリティカルなアプリケーション、例えば、通信やIPスタック、ビデオ・ストリーミングやVoIP のような高帯域が必要となるマルチメディア・アプリケーションにとって理想的です。
プラットフォーム・セキュリティ
S60 3rdエディションは、プラットフォーム・セキュリティに新しいアプローチを採用しています。消費者が、端末は安全で、信頼でき、予想がつくものと、信じることが出来るようなるために、S60端末の完全性を確実するという目的のために、変更が行われました。これを達成するために、重要なデータへのアクセスや端末の操作は、コントロールされています。
この変更により、開発者は、かなりの範囲のAPIにアクセスするために、検証済みの権利(right verification)が必要です。また、この変更はアプリケーションの不具合による意図しない副作用から、幾分保護します。ビジネスの観点からすると、この強化は、S60は安定で安全なOSであるとの評判を向上させます。プラットフォーム・セキュリティは、エミュレータでも十分にサポートされています。したがって、開発者は、この機能がどのようにアプリケーションに影響するかテストすることが出来ます。
"プラットフォーム・セキュリティ"は、S60プラットフォームで既に利用可能な機能や、サード・パーティのプラットフォーム拡張として利用可能な機能、例えば、暗号化、ファイアウォール、Java MIDPのセキュリティ・ドメイン・モデル、ウイルス防止機能、コミュニケーション・プロトコールのセキュア版などには影響しないことに注意してください。
Trusted Computing Base
S60 3rdエディションで導入されたセキュリティ対策を確実とするために、Trusted Computing Base(TCB) と呼ばれるソフトウェアの集合が使用されます。TCB は、カーネル、ファイル・システム、ソフトウェア・インストーラーからなます。必要なパーミッションと認可を持つアプリケーションのみをインストールすることが出来、また、端末の制限された場所にアクセスできるということを、TCBは確実にする責任があります。
データ・ケージング
データ・ケージングの目的は、ファイルシステムへのアクセスをコントロールし、結果データを安全にすることです。各アプリケーションは、データを保存するための、それ自身のプライベート・ディレクトリを持ち、(十分なケイパビリティを持たない限り)他のアプリケーションはアクセスできません。プライベート・ディレクトリ以外のファイルシステムの殆どにアプリケーションはアクセスできますが、制限があります。端末メーカーとの合意が無ければ、実行ファイルがある/sys ディレクトリ へのアクセスは不可能で、ビットマップなどアプリケーションのリソースがある/resource ディレクトリは読み取りのみです。特定のディレクトリにアクセスするためには、アプリケーションは、いくつかのケイパビリティが必要になります。次の表は、端末内の各特定のディレクトリに必要なケイパビリティです:
| ディレクトリ (含サブ・ディレクトリ) | 要求されるケイパビリティ: | |
|---|---|---|
| 読み取り | 書き込み | |
| /resource | None | TCB |
| /sys | AllFiles | TCB |
| /private/<ownSID> | None | None |
| /private/<otherSID> | AllFiles | AllFiles |
| /<other> | None | None |
ケイパビリティ・モデル
ケイパビリティ・モデルの目的は、信頼されたアプリケーションのみが、あるAPIとシステム・リソースの使用することが出来ることを確実にすることです。消費者(すなわち、端末にアプリケーションをインストールする人)は、SMSの送信やユーザ・データの読み書きなど、ある程度許可を与えることが出来ます。しかしながら、いくつかのケイパビリティは、シンビアン・サインされたアプリケーションのみで利用可能です。
ケイパビリティを4種類に分類できます:
- Open to All(誰でも利用可能) - これらのケイパビリティは、全てのアプリケーションが利用可能です。アプリケーションはシンビアン・サインが必要ありません。
- インストール時のユーザーによる付与 - これらのケイパビリティ()は、インストール時にユーザーによってアプリケーションに付与することが出来ます。非署名サンドボックス(unsigned sandbox) とも呼びます。シンビアン・サインのアプリケーションは、ユーザが許可を与えること無しに、これら全てのケイパビリティにアクセスできます。
- シンビアン・サインによる付与 - これは、"インストール時のユーザーによる付与"のケイパビリティを含み、アクセスするためにアプリケーションにシンビアン・サインが必要なケイパビリティを加えたものです。
- メーカーによる付与 - これらのケイパビリティは、ケイパビリティを付与するためには、シンビアン・サインのプロセスにおいて、端末メーカとの合意が必要です。
異なるケイパビリティには、開発するために異なる種類の証明書が必要になります。開発中に、ユーザは、テストのために異なる証明書を適用する必要があるかもしれません。アプリケーションに署名するために、証明書をしようすることが出来ます。このとき、アプリケーションが持つケイパビリティは、証明書のもののサブセットです。S60ケイパビリティは、下図で説明があります。
この文章の後のパートで、シンビアン・サインとツール類についての説明があります。
各ケイパビリティが必要な端末の機能についての詳細は、フォーラム・ノキアのドキュメントSymbian OS: Overview to Security を参照してください。
端末メーカーの承認が必要となるようなケイパビリティを使用するアプリケーション(sensitive application)の一覧については、 sensitive applicationsのページを参照してください。
S60 製品
S60プラットーフォームは、市場に端末を出してきた多くのメーカーにライセンスされています - Lenovo, LG Electronics, Nokia Mobile Phones, Panasonic, Samsungです。端末の種類は常に増え続いています。現在の端末やその詳細は、S60 や以下のサイトの端末に関するページに記載されています:
S60アプリケーション開発
新しい開発者にとって、S60 3rdエディションは少し難しいかもしれませんし、また、どこから始めればよいのかが困難なときがあります。このセクションでは、S60 3rdエディションでの開発について段階を追って説明します。各段階は、実機にディプロイメントすることに関して、以前のプラットフォーム(1st と2ndエディション)よりも、少し難しいです。3rdエディションでの開発は、以前のプラットフォームより少し注意が必要です。以下では、全ての関係する段階が詳細に記述されています。
インストール
フォーラム・ノキアへのアカウントの登録
フォーラム・ノキアのwebページの多くのリソースは、ダウンロードする前に登録が必要です。登録は無料で、全てのSDKやドキュメント、サンプル・コードは無料でダウンロードできます。フォーラム・ノキアへ登録するためのweb ページは次にあります: http://www.developer.nokia.com/Profile/Join.xhtml
訳注: 記入例は、次のページにあります: http://www.developer.nokia.com/
開発ツールのインストール
- Carbide.c++ - Download
S60 3rd Edition SDKをインストールする前に、これらのツールをインストールすることを推奨します。これは、SDKのインストールによって、対応するツールの一部が更新されるかも知れないからです。
S60 3rd Edition SDK のインストール
http://www.developer.nokia.com/Resources/Tools_and_downloads/Other/Symbian_SDKs/ ("C++ for Symbian OS Tools and SDKs" セクション)から、S60 3rd Edition SDKをダウンロードできます。多くのS60 SDKが入手可能です。S60 3rdエディションのアプリケーション開発には以下のSDKをダウンロードできます:
- 3rd Edition
- 3rd Edition, Maintenance Release
- 3rd Edition, FP1
- 3rd Edition, FP2
"3rd Edition"リリースもあり、これは、S60 3rdエディションの最初にリリースされました。もし全てのS60 3rd エディション端末(FP1/FP2 以降も含む)で動作するアプリケーションを開発するならば、開発にはmaintenance SDKをダウンロースすることを推奨します。それは、これが完成度の高いリリースで、その後の全てのS60 3rd Edition SDKのベースとなっているからです。(将来のfeature pack(機能追加版) では、先進的機能が追加されるでしょう)
中国の開発者向けに、以前のSDKリリースでは別途中国語版SDKがありましたが、3rdエディションにはありません。中国語はヨーロッパ版SDKに統合されました。次のステップで中国語を有効にすることが出来ます:
Start ==> Programs ==> S60 Developer Tools ==> 3rd Edition SDK ==> 1.1 MR ==> Languages ==> Change to Chinese
訳注:同様に、日本語を有効にすることが出来ます。S60 3rd Edtion, Japanese では無く、3rd Edition, Maintenance Release を使用してください。
プラグイン:
- 次のMaintenace SDK用プラグインをインストールすると、 マルチメディアのエミュレーション強化されます:Extensions plug-in for S60 3rd Edition SDK for Symbian OS, for C++, MR
- また、次のプラグインもあります: S60 3rd Edition: Device Management Plug-in
- Sensor plug-inはNokia 5500 sport phone に利用可能です。
もし、SDKのインストールが失敗する場合は、フォーラム・ノキアの掲示板に投稿されているCan't install S60 3rd SDK を見てください。この問題を解くための回避策があります。空の"S60_3rd.xml"ファイルを作り、3rd Edition SDK をインストールしたディレクトリにそれを置く必要があるでしょう。
もし、S60 3rd Edition maintenance SDK をインストールしてアンインストールすると、インストールのフォルダ名は変更されます(例えば、\Symbian\9.1\S60_3rd_MR_1や \Symbian\9.1\S60_3rd_MR_2となります)。このインストールの逐次番号"1" や"2"を除くには、インストールする前に、PC のWindows レジストリ・データベースから次のレジストリを削除します:
HKEY_LOCAL_MACHINE\SOFTWARE\Nokia\com.nokia.s60
コマンドを使ってアプリケーションをビルドするには、SDK のヘルプを参照してください。時々、一つのコンピュータに複数のSDKがインストールされます。インストールされたSDKを簡単に切り替えるために、"environmentswitch.exe" を使用します。残念ながら、このツールは、3rd Edtion SDK では使用できません。このツールは、以前のSDKに含まれています。例えば、次の箇所にあります: \Symbian\8.1a\S60_2nd_FP3\Series60Tools\environmentswitch\environmentswitch.exe
Java実行環境のインストール
Webサイトhttp://www.oracle.com/technetwork/java/index.html より、最新のJava SDKと実行環境をダウンロードしてください。"Control Panel"を使って、全ての必要なパスと環境変数が正しくコンピュータの環境変数に追加してください。
Perl のインストール
Webサイト http://www.perl.org/get.html より、最新のPerlを見つけてください。"Control Panel"で、正しい実行パスをセットしてください。
S60 3rdエディション用の開発
S60 3rdエディション上での開発は、2ndエディション上での開発より少し難しいです。それは、s60 3rdエディションにプラットフォーム・セキュリティが導入され、新しいコンパイラが使用されるようになったためです。次の図は、S60 3rdエディションでの開発を簡単に述べています。
プロセスの全体像は、ドキュメントS60 3rd Edition: Tool Chain, IDEs, And Development Process で述べられています。
上の図の各ステップは以下のようになります:
1. コーディング
.mmp ファイルのインポートによって既存のプロジェクトを使用したり、IDEツールの"Wizard"を使ってテンプレート・アプリケーションを生成できます。通常、これは推奨される方法です。
アプリケーションが異なるスクリーン・サイズと方向を持つ全ての端末で実行できるように、開発フェーズで、アプリケーションがローカライズとスケーラブルUI(Scalable UI)を持つように計画してください。加えて、アプリケーションは、マルチ言語もサポートするかも知れません。ローカライズされた文字列を.locや.rlsファイルで定義することは、良いローカライズをサポートするための常に良い実践です。もしローカリゼーションのサポートが必要な場合は、ソースコードの.cppファイルや.rssファイルにローカライズされた文字列を定義しないでください。
2. ビルド
例題のコードをビルドするために、IDEツールのビルド機能やコマンド・プロンプトでコマンドを使います。アプリケーションのビルドについての詳細は、SDK ヘルプを参照してください。
3. テスト
PCのエミュレータ環境向けにアプリケーションをビルドして実行できます。もし問題が無ければ、アプリケーションを実機にディプロイしてテストできます。S60 3rdエディションでは、S60 2ndエディションよりディプロイメントは少し難しく、Symbian Signed が必須です。開発中には、テストのために、開発者証明書(deverloper certificate)を、開発中のアプリケーションに署名するために使用できます。Symbian Signedと開発証明書をどのように適用するかについての情報は、以下を参照してください。
Symbian Signedのテスト基準についての情報は以下にあります https://www.symbiansigned.com/app/pageapp/page/overview/testcriteria
ビジネス的な理由により、ノキア端末にアプリケーションをプレ・インストールする必要がある場合は、ノキア・テスト基準に合格する必要があります。詳細は次にあります http://www.developer.nokia.com/main/technical_services/testing/index.html
4. 署名
実機にアプリケーションをディプロイする前に、S60アプリケーションに署名することは必須です。2種類の署名があります:
- 自己サイン(Self-Signed): UID が非保護範囲の0x80000000–0xFFFFFFFF間にあるアプリケーション用で、アプリケーションは、基本的なケイパビリティのみを使用することが出来ます。詳細は、How to self-sign を参照してください。開発者は、開発したアプリケーションに署名するために、自己署名証明書を無料で生成します。自己証明のアプリケーションは、以下のケイパビリティのみを使用可能であることに注意してください: 図3中のLocalServicesと ReadUserData, WriteUserData, NetworkService, UserEnvironment。もちろん、開発者は、上記のケイパビリティを持つアプリケーションを、何らかのために(おそらく販売者の要望により)、シンビアン・サインのために送ることも出来ます。この場合、開発者は、シンビアン・サインのために、アプリケーションUIDを保護領域に変更する必要があります。
- シンビアン・サイン: UIDが保護範囲の0x00000000–0x7FFFFFFF間にあるアプリケーション用で、またアプリケーションは、要注意API(sensitive API) も使用出来ます。シンビアン・サインに関しては、それを一言で説明するのはとても困難です。詳細は、次のwebinar をダウンロードしてください:File:Symbian Signed - Webinar.pdf
UIDの範囲に関する詳細は、https://www.symbiansigned.com/app/pageapp/page/dev/uidfaq を参照してください。注意:このリンクを表示するには、ログインする必要があります。
図3で示されているように、シンビアン・ケイパビリティは、4つのグループに分けることが出来ます:
- ユーザー・ケイパビリティ: LocalServices, ReadUserData, WriteUserData, NetworkServices, UserEnvironment
- システム・ケイパビリティ1: SwEvent, ProtServ, TrustedUI, PowerMgmt, SurroundingDD, ReadDeviceData, WriteDeviceData
- システム・ケイパビリティ2:CommDD, DiskAdmin, MultimediaDD, NetworkControl
- マニュファクチャ: AllFiles, DRM, TCB, 携帯電話メーカーからの許可が必要
S60アプリケーションで使用されるケイパビリティによって、アプリケーションに署名する異なる方法があります:
- ユーザ認可(User grantable): インストール時に、アプリケーションで使用されているケイパビリティは認可されます。また、アプリケーションUIDは、非保護領域(0x80000000-0xFFFFFFFF)でなければいけません。 .sis ファイルに署名するために、開発者は、SignSis を使うでしょう。アプリケーションは、以下のケイパビリティのみを利用できることに注意してください: LocalServices, ReadUserData, WriteUserData, NetworkServices, UserEnvironment。
- パブリッシャーID無しでのオープン・サイン(Open signed without publisher ID): ユーザは、アプリケーション.sisファイルをアップロードするために、www.symbiansigned.comに登録してログインしなければいけません。アップロード成功後、開発者は、すぐにウェブサイトから署名されたアプリケーションをダウンロードできるでしょう。これは、テストのためで、署名されたアプリケーションは、一つだけのモバイル端末にインストールできます。署名するとき、開発者は、有効なemail アドレスと端末のIMEIナンバー(電話機のシリアル・ナンバー)を記入する必要があります。署名されたアプリケーションは、36ヶ月インストール可能です。この方法は、開発目的のためのもです。
- パブリッシャーIDを使ったオープン・サイン(Open signed with publisher ID): 開発者は最初に、TC TrustCenter から、パブリッシャーIDを購入しなければいけません。中国の開発者向けには、パブリッシャーIDを購入するために、https://cn.globalsign.com/ssl/Symbian_Publisher_ID_ssl.asp も利用できます。パブリッシャーIDを使って、開発者は、開発者証明書(developer certificate)をwww.symbiansigned.com で申し込みます。証明書をつかって、開発者は、.sis ファイルにSignSisコマンドで署名します。これは、テスト目的のための物で、証明書は、IMEIの数が最大1000個までと制限されています。証明書は、36ヶ月有効です。この方法は、開発目的用です。
- エクスプレス・サイン(Express signed): 開発者は最初に、パブリッシャーIDを購入しなければいけません。開発者は、www.symbiansigned.com ウェブサイトにログインし、必要なファイルをアップロードしなければいけません。すぐに、開発者は署名されたアプリケーションを同ウェブサイトで入手でき、開発者はダウンロードするでしょう。この署名されたアプリケーションは、商用(配布用)です。
- 公認サイン(Certified signed): 開発者は最初に、パブリッシャーIDを購入しなければいけません。オープン・サイン(Open signed) か 自己サイン(self-signed)でアプリケーションを十分にテストされた後、開発者は、アプリケーションを、詳細なテストのために、世界に3つあるテスト・ハウスの1つに送ります。アプリケーションがシンビアンのテスト基準に合格後、アプリケーションは商用使用向けに署名されます。
- ノキア用シンビアン・サイン(Symbian signed for Nokia): プレ・インストールされるアプリケーションは、ノキア・テスト基準に合格しなければいけません。これは、公認サイン(Certified signed)より厳しい基準です。詳細は、www.symbiansigned.com にあります。マニュファクチャ・ケイパビリティを使用する必要がある開発者は、このケイパビリティを使用を正当化するために、根拠あるビジネス上の理由を提出しなければいけません。リクエストが承認されると、開発者は、パブリッシャーIDを使ったオープン・サイン(Open signed with publisher ID) をテストと開発のために使用します。この方法は、商用向けのものです。
アプリケーションがシンビアン・サインを必要ならば、十分にアプリケーションをテスト後、さらなるテストのためにアプリケーションをテスト・ハウスに送らなければいけません。現在、世界に3つのテスト・ハウスがあります:
- mPhasis
- Capgmini
- NSTL
価格はテスト・ハウスごとに異なり、どのテスト・ハウスを選ぶのも自由です。
シンビアン・サインとテスト基準に関する詳細は、https://www.symbiansigned.com/app/pageapp/page にあります。サインのプロセスに関する詳細は、https://www.symbiansigned.com/app/pageapp/page/overview/process にあります。
アプリケーションをシンビアン・サインのために送る時に、TrustCenter 発行者ID(publisher ID) を適用する必要があるので注意してください。このTrustCenter発行者IDは、開発中の開発者証明書を適用する時には必要ないかも知れません。有効なTrustCenter発行者IDを使用して、最大1000端末までに有効なテスト証明書を得ることができます。開発者証明書は、配布するアプリケーションを署名するためのものではありません。開発者証明書に関する詳細は次のドキュメントを参照してください https://www.symbiansigned.com/app/pageDeveloper_Certificate_Request_Process_v2.0.pdf
5. 転送と配布
アプリケーションが公式に署名されると、アプリケーションは配布できる準備が出来たことになります。以下のセクションで、いくつかのリンクがあります。Nokia NCD(Nokia Content Discover) もまた利用可能です。
S60 3rdエディションのディプロイメント
アプリケーションを開発し、エミュレータ環境で十分にテストしたならば、実機にディプロイメントのための準備が整ったことになります。上記に書かれているように、実機にディプロイする前に、全てのS60 3rdエディションのアプリケーションはサインする必要があります。
- アプリケーションを自己サイン(self-signed)のために、アプリケーションに署名するためのキーと証明書を生成するために、コマンド・ラインでmakekeys を使用します。
- makekeys -cert -password 12345 -dname "CN=username OU=NOKIA CO=CHINA EM=xyz@abc.com" mykey.key mycer.cer
- または、キーを生成するために、Symbain にある証明書要求(Certificate Request) アプリケーション(次に紹介されます)を使用可能です。
- シンビアン・サインのアプリケーションのために、必要な開発者証明書を生成するためのステップは、次のようになります:
- 証明書要求(Certificate Request)アプリケーション(DevCertRequest)の最新版をDownload からダウンロードして、インストールします。
- 証明書要求アプリケーションを起動します。.csr名(証明書要求) を入力します。次に、キー・ファイルを入力する際に、もし秘密キーがまだないならば、テキスト・エディタでキー・ファイルを単に入力せずに、秘密キー(Private Key) の行にある...ボタンをクリックし、その後入力してください。秘密キーが無い場合、要求ファイルが作られるときに、その名前のキー・ファイルが作成されます。
- 残りのステップを行い、最後に、.csr と.key ファイルが作成されます。
- https://www.symbiansigned.com/app/pageapp/page に行き、アカウントを作成後、ウェブ・サイトにログインしてください。ログイン後に、My Symbian Signedのタブが見えるようになります。このページで、Open Signed->Requestを選び、作成した.csrファイルをアップロードしてください。もし、マニュファクチャ・ケイパビリティが含まれていないならば、要求ファイルをアップロード後すぐにサイトで.cer 証明書ファイルをダウンロードできます。マニュファクチャ・ケイパビリティを含む証明書が必要な場合には、フォーラム・ノキアのビジネス・マネージャかビジネス・グループにコンタクトを取り、要求を提出する前に、ビジネス上の理由を正当化してください。
- アプリケーションをgcce かarmv5(もしコンパイラがあるならば)用にコンパイルします。gcce は、SDKに含まれる無料のコンパイラです。通常、armv5コンパイラは、gcce よりも、コード・サイズが小さくなります。gcceでビルドするには、次のコマンドを使用します。:
bldmake bldfile
abld build gcce urelbldmake bldfile - .sisファイルを生成するために、makesisコマンドを使用します。:
makesis myapp_gcce.pkg
myapp_gcce.pkgで、どこにファイルがインストールされるかを定義します。
.keyと.cerファイルを入手したらなば、実機にアプリケーションをディプロイするための署名を次のコマンドで行います:
signsis myapp_gcce.sis myapp_gcce.sisx mycer.cer mykey.key mypassword
signsisは、アプリケーションに署名するためのコマンドで、myapp_gcce.sisxは署名された出力ファイルです。拡張子名は、この場合実際には影響しません。コマンドを正しく実行するために、パスを正しく設定している必要があります。アプリケーションを署名すると、テストするために、Bluetoothや赤外線を通して、実機にディプロイすることが出来ます。
いくつかのIDEには、証明書とキーを管理するためのUIがあります。ビルドするときにgcceやarmv5を選ぶと、自動的にアプリケーションを署名できるようになります。Carbide.c++ とCarbide.vs は、どちらもこの機能があります。
S60 サポートと便利なリンク集
S60 サポート
S60 に関する最新情報は次のウェブ・サイトにあります:
http://www.s60.com/s60/html/index.html
http://www.developer.nokia.com/
フォーラム・ノキアのウェブ・サイトでは、全てのドキュメントとサンプル・コードが無料でダウンロードできます。Symbain C++のサンプルは、次のページにあります。 http://www.developer.nokia.com/Develop/.
フォーラム・ノキアの掲示板(Discussion boards)で質問を書くことが出来、他の開発者が答えてくれるかも知れません。また、掲示板の書き込みやスレッドをキーワードを使って検索することも出来ます。中国の開発者用に、中国語専用の掲示板が別途あります。統計によると、フォーラム・ノキアのウェブ・サイトで最も活発な掲示板の一つです。
フォーラム・ノキアからトレーニング・サービスを受けることも出来ます。フォーラム・ノキアは、全世界に多くのトレーナーを認定しており、開発者にプロフェッショナルなトレーニングサービスを提供しています。詳細については、フォーラム・ノキアのウェブ・サイトのTrainingセクションを参照してください。
フォーラム・ノキアは、また、フォーラム・ノキア・プロ・プログラムと呼ばれる、プロフェッショナルサポートも提供します。詳細については、ノキアのウェブ・サイトの"Developers"セクション(http://www.nokia.com/developers) の"Marketplace" を参照してください。
便利なリンク集
上記のリンク集の他にも、数多くの便利なリソースがあります:
- S60 C++ライブラリとコーディング規約について記述があります。
- コースウェアが、フォーラム・ノキアのウェブ・サイトで無料で利用可能です。多くのパッケージから選ぶことが出来ます。
- Nokia Developer Multimedia resources
- Nokia developer news and events (training calendar)
- Nokia 開発者トレーニング・プログラム
- 世界のNokia公認トレーニング・センター
- 中国語のウエブ・サイトで、さまざまな技術を紹介している多くのドキュメントがあります。
- オープン・ソースのためのページです。多くのオープン・プロジェクトがあります。
- アプリケーション署名のウェブ・サイトです。開発者証明書を申し込みや、テストに関するドキュメントを入手できます。
- S60 アプリケーションのテストに関する情報があるフォーラム・ノキアのページです。
- サポート・チュートリアル等を入手できるサイト
- アプリケーション販売の良いサイト
- シンビアン・アプリケーションを販売・マーケティングのためのサイト
- Ovi Store
もちろん、インターネットには、多くの便利なリンクがあります。ここに全てを並べるのは不可能です。
最後に
S60 は、モバイル端末のマーケットで先進的なプラットフォームで、モバイル端末メーカーによって幅広くしようされています。これは、サード・パーティの開発者にとってオープンなプラットフォームで、変化と発展をし続けています。S60 3rdエディションでは、プラットフォーム・セキュリティのような新しい機能がいくつか組み入れられました。新しいセキュリティ・モデルの導入により、60 3rdエディションでの開発プロセスは、それ以前(S60 2nd エディション)より、少し難しいです。
S60端末は安全で、幅広い分野で利用可能です。同時に、新しいARMのバイナリ・インターフェイスとプラット・フォーム・セキュリティの導入により、開発者は、開発ツールを変更する必要があり、またいくつかのアプリケーションでは追加の証明書の要求が必要となります。S60 3rdエディションの導入は、開発者にとって機会と挑戦です。。また、ノキアは、モバイル・コンテンツとJava Verified™ アプリケーションをノキアのセールス・チャネル(Nokia Software Market と Ovi Store)を通して販売することで、開発者に収益を得る機会提供します。加えて、ノキア端末に搭載されるアプリケーションもあるかも知れません。





(no comments yet)