Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.1.3 E67371-01 |
|
![]() 前 |
![]() 次 |
この章では、テストと公開のためのモバイル・アプリケーションのデプロイ方法について説明します。
この章には次の項が含まれます:
エンド・ユーザーに配布するためにアプリケーションを公開する前に、シミュレータまたは実際のデバイスでこれをテストして、その動作と使いやすさを評価する必要があります。iOSアプリケーション・バンドル(.ipa
または.app
ファイル)またはAndroidアプリケーション・パッケージ(.apk
)・ファイルをプラットフォームに適したデバイスまたはシミュレータにデプロイすることで、MAFでは、App Store (Apple iTunes)またはアプリケーション・マーケットプレイス(Google Playなど)に公開する前にアプリケーションをテストできます。
MAFでは、プロジェクトをデプロイする場合、プラットフォーム固有のテンプレート・アプリケーションを一時的な場所にコピーした後、MAFプロジェクト内で定義されたコード、リソースおよび構成を使用して、そのアプリケーションを更新します。その後、MAFでは、ターゲット・プラットフォームのツールを使用して、アプリケーションをビルドおよびデプロイします。モバイル・アプリケーションをプラットフォーム固有パッケージ(iOSの場合.ipa、Androidの場合.h)としてデプロイでき、このパッケージは、ダウンロード・サイトや、Apple App Store、Google Playなどのアプリケーション・マーケットプレイスから利用できるようにします。テストおよびデバッグのため、シミュレータまたはデバイスにデプロイできます。
実際のデプロイメント・プロセスは、3つの手順で構成されています。
まず、プラットフォーム(AndroidまたはiOS)用のSDKを「プリファレンス」ダイアログに登録します。詳細は、Oracle Enterprise Pack Oracle Enterprise Pack for Eclipseのインストールを参照してください。
MAFアプリケーションごとに、ターゲットを定義します。ターゲットは、プラットフォーム(AndroidまたはiOS)の組合せであり、固有バージョンのMAFランタイムです。デフォルトでは、アプリケーションを作成すると、OEPEによって、登録されているSDKプラットフォームごとにターゲットが作成されます。追加のターゲットは、「プロジェクト・プロパティ」ダイアログを使用して定義でき、このダイアログは、アセンブリ・プロジェクトのコンテキスト・メニューにあります。「モバイル・アプリケーション・フレームワーク」を選択して「追加」をクリックし、新しいターゲットを定義します。
デバッグまたは実行構成を作成し、それを実行します。
ビュー・コントローラ・プロジェクトを機能アーカイブ(FAR)としてデプロイすることで、アプリケーション機能を再利用できます。また、モバイル・アプリケーション全体は、モバイル・アプリケーション・アーカイブ(.maa
)・ファイルとしてデプロイすることで再利用することもできます。
AndroidアプリケーションとiOSアプリケーションのどちらの場合も、それぞれのMAFデプロイメントには、デプロイメントのタイプ(リリースまたはデバッグ)とデプロイメント・ターゲット(シミュレータまたは実際のデバイス)の組合せに固有の異なるライブラリのセットが含まれています。さらに、それぞれのライブラリ・セットには、JVMのJARファイルが含まれます。アプリケーションのバインディング・レイヤーは、Objective-Cライブラリのコレクションであるこの仮想マシン内にあります。たとえば、MAFは、iOSシミュレータをターゲットとするデバッグ・デプロイメントに対して、JVM JARファイルと一連のライブラリをデプロイしますが、実際のiOSデバイスをターゲットとするデバッグ・デプロイメントに対しては、異なるJVM JARファイルと一連のライブラリをデプロイします。「プロパティ」ダイアログを使用してプロジェクトに対して宣言するライブラリは、図28-1に示すように、プロジェクト用デプロイメント・アーティファクトに含まれています。このダイアログにより、アプリケーション機能は実行時にこれらのライブラリにアクセスすることが可能になります。
ビュー・プロジェクトを右クリックして「プロパティ」を選択し、「プロパティ」ダイアログを開きます。ダイアログでJavaビルド・パスを選択し、「ライブラリ」タブをクリックします。
デプロイメント用モバイル・アプリケーションの準備は、プラットフォーム固有のデプロイメント構成の作成から始まります。構成では、iOSデバイス、Androidデバイス、デバッグiOSシミュレータまたはAndroidエミュレータにデプロイするアプリケーションをアーカイブにパッケージ化する方法を定義します。
構成と本番構成から選択できます。デプロイメントの間は、デフォルト・キーストアを使用するためにデバッグを選択する必要があります。
構成は次のことを実行します。
パッケージおよびデプロイするアセンブリ・プロジェクトを選択します。
デプロイ先のターゲットを選択します。ターゲットは、プラットフォーム(AndroidまたはiOS)の組合せであり、固有バージョンのMAFランタイムです。
デプロイ先のデバイス・プロファイル(エミュレータまたはデバイス)を選択します。
プラットフォーム固有(AndroidまたはiOS)の詳細オプションを選択します。
デプロイするアプリケーションを指定します。
第2.2.2.3項「デプロイメント構成について」で説明するように、アプリケーションを作成するときに、アプリケーション用のデプロイメント・ターゲットを選択します。後でデプロイメント構成を作成するときに、使用するデプロイメント・ターゲットを選択します。これらの構成を使用してアプリケーションをデプロイしたり、MAF固有の構成ダイアログを使用してアプリケーションを編集したり、新規構築することができます。図28-2に示すように、構成の作成、管理および実行の各ダイアログは、デプロイメント構成ダイアログとも呼ばれ、デフォルト・デプロイメントを作成できます。デプロイメント構成は、必要な数だけ作成できます。
始める前に:
OEPEでモバイル・アプリケーションをデプロイできるようにするには、MAFの「プリファレンス」ページを使用してターゲット・プラットフォームのSDKを指定する必要があります。
ヒント: iOSデプロイメントの場合は、iTunesおよびiOSシミュレータを1回以上実行してから、それらのディレクトリの場所をMAFプラットフォームのプリファレンス・ページで構成します。 |
デプロイメント構成を作成するには、次の手順を実行します。
開発の場合、「実行」→デバッグ構成を選択します。
本番の場合、「実行」→「実行構成」を選択します。
MAFアプリケーションに移動し、右クリックして「新」を選択し、新しい構成を作成します(図28-2を参照)。
次の手順を実行します。
構成のデフォルト名をそのまま使用するか、新しい構成名を入力します。
アセンブリ・プロジェクトを選択します。
使用可能なもののリストからターゲットを選択し、使用可能なもののリストからデバイスまたはエミュレータを選択します。必要に応じて、リストをリフレッシュします。
必要に応じて、デプロイ先にするデバイスのキーストアおよびキーの別名を選択します。
ただちにデプロイする場合は、「実行」をクリックします。構成を保存するには、「適用」をクリックします。または、「変更の保存」ダイアログで「閉じる」をクリックし、「はい」をクリックします。
「実行」ボタンまたは「デバッグ」ボタンをクリックしてアプリケーションをデプロイするとき、アプリケーションのパッケージングおよびデプロイメントがトリガーされます。OEPEによって、デプロイメント・ディレクトリおよび関連するサブディレクトリが作成されます。ビュー・プロジェクト(違った名前である必要があります)およびアセンブリ・プロジェクト用に機能アーカイブ・ファイル(FAR)も作成されます。これら2つのFARに加え、プロジェクトにインポートされたFARのコピーが、OEPEによって作成されます。最後に、パッケージがデバイスまたはエミュレータにデプロイされます。
デプロイ・アーティファクトをクリーンアップするには、一部のプロジェクトまたはすべてのプロジェクトに対して「クリーン」ダイアログを使用します。クリーンアップの対象:
一部のプロジェクト。これが、クリーンリビルドを行うのに最速の方法です。
下で選択したプロジェクトのクリーンアップを選択し、クリーンアップするアセンブリ・プロジェクトを選択し、「OK」をクリックします。
すべてのプロジェクト。これにより、すべてのユーザー・アーティファクトは、再ステージングおよびデプロイ前にリビルドされます。
すべてのプロジェクトのクリーンアップを選択し、「OK」をクリックします。
実行構成を作成すると、メニュー・バーから緑色の実行矢印をクリックしてそれを選択できます。矢印をクリックすると、最後に使用された実行構成が選択されます。緑色の矢印の隣のドロップダウン・セレクタをクリックし、コンテキスト・メニューから実行する構成を選択することによって、別の実行構成を選択できます。
実行構成およびデバッグ構成は両方とも「実行」メニューから起動でき、これらは、デバッグ構成が、デバッグ・オプションを設定する追加のタブである「デバッグ」タブを持っている点で違います。詳細は、第31章「MAFアプリケーションのテストおよびデバッグ」を参照してください。
デバッグ - 開発ビルドにはこのオプションを選択します。デバッグ・ビルドを指定すると、デバッグ・シンボルが含まれます。
デプロイメントの間は、デフォルト・キーストアを使用するためにデバッグを選択する必要があります。
実行時、赤い三角形の中の感嘆符で表されるデバッグ・シンボルを重ねることで、デバッグ・モードにアプリケーションがデプロイされたことをMAFは示しています。
実行 - リリースの準備ができたビルドをライブラリなどとともに、リリース・ビットやライブラリなどとともにビルドします。
ヒント: アプリケーションがリリース用にコンパイルされているかどうかは、デバッグ・モードではなく、実行モードを使用して、アプリケーションのパフォーマンスをテストします。 |
図28-3に示すように、デプロイメント構成を定義した後、実行構成ダイアログまたはデバッグ構成ダイアログからモバイル・アプリケーションをAndroidプラットフォームにデプロイできます。
デバッグ構成ダイアログを使用すると、完成したアプリケーションをAndroidエミュレータまたはテスト用のAndroidデバイスにデプロイできます。アプリケーションのテストおよびデバッグの終了後、実行構成ダイアログを使用してモバイル・アプリケーションをAndroidアプリケーション・パッケージ(.apk
)・ファイルにバンドルし、Google Playなどのアプリケーション・マーケットプレイスなどを介してエンド・ユーザーに公開できます。
Androidのデプロイメント・プロファイルを作成するには、アプリケーションの署名オプションとjavac
コンパイラの動作を定義し、必要な場合はアプリケーション・アイコンに使用されるデフォルトOracleイメージをカスタム・イメージでオーバーライドします。
始める前に:
Oracle Enterprise Pack Oracle Enterprise Pack for Eclipseのインストールの説明に従って、Android SDKをインストールおよびダウンロードします。
Androidエミュレータにデプロイする場合は、Android開発者のWebサイト(http://developer.android.com/tools/devices/index.html
)で入手可能な「Managing Virtual Devices」の説明に従い、Android Virtual Device Managerを使用して各エミュレータ・インスタンスの仮想デバイスを作成する必要があります。
SDKおよびプラットフォーム用の場所のMAFプリファレンスも設定する必要があり、これはAndroid SDKパッケージ・ダウンロードの一部になっています
AndroidプラットフォームSDK用のMAFプリファレンスを設定するには、次の手順を実行します。
「ウィンドウ」→「プリファレンス」を選択し、「プリファレンス」ダイアログを開きます。
図28-4に示すように、「Oracle」→「モバイル・アプリケーション・フレームワーク」→「Android」を選択し、Androidのプリファレンス・ページを開きます。
「追加」をクリックして「SDKの選択」ダイアログを開き、Android SDKの場所に移動します。「OK」をクリックします。
SDK information for Android 4.4.2 (API 19)は、図28-5に示してあり、前のバージョンと違います。
注意: プッシュ通知には、Android 2.2プラットフォーム(またはそれ以降)を実行しているデバイスとエミュレータが必要です。これらのデバイスには、Google Playストアがインストールされている必要があります。エミュレータ上でプッシュ通知を有効にするには、Google APIがSDKにインストールされている必要があります。ユーザーは、4.0.3 (API 15)以前のプラットフォームを実行しているデバイス上で、Googleアカウントを作成(およびログイン)する必要があります。Android開発者のWebサイト(http://developer.android.com/index.html |
構成を作成するには、次の手順を実行します。
「実行」→「実行構成」を選択して、「構成」ダイアログを開きます。
図28-5に示すように、「構成」ダイアログで、構成の名前を入力します。
利用可能なプロジェクトのリストからアセンブリ・プロジェクトを選択します。
アプリケーションIDを変更する場合は、デプロイされるバンドルIDに新しいIDを入力します。
注意: Androidデバイスまたはエミュレータにアプリケーションが正しくデプロイされるようにするには、IDの先頭を数字やピリオドではなく、文字にする必要があります。たとえば、IDが925090のように(com.company.925090)完全に数値で構成されている場合、アプリケーションはデプロイできません。hello925090などの文字で始まるIDであれば(com.company.hello925090)、デプロイメントは正常に実行できます。 |
プラットフォーム・バージョンとMAFランタイム・バージョンの組合せであるターゲットを選択します。
ターゲット構成を選択します。つまり、アプリケーションをデプロイするデバイスまたはエミュレータのことです。
注意: 場合によってはOEPEは、Androidエミュレータを検出できません。adbサーバーに関連付けられたデーモンが動作していないためです。デーモンが動作していないときは、OEPEはエラー・メッセージを表示します。
SDK/platform-toolsディレクトリから <sdk-install>\adt-bundle-windows-x86_64-20130717\sdk\platform-tools>adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached emulator-5554 device OEPEによってエミュレータが検出されます。 |
キーストアを入力します。必要に応じて、「キーストアを選択」をクリックすると、「プリファレンス」ダイアログのAndroidキーストア・ページが開き、キーストアを追加できます。詳細は、第28.3.1.3項「Android署名オプションの定義」を参照してください。また、Android開発者のWebサイト(http://developer.android.com/tools/publishing/app-signing.html
)で入手可能な「Signing Your Applications」で、アプリケーションの公開に関する情報も参照してください。
注意: Androidエミュレータにアプリケーションをデプロイするには、API 14以降(Platform 4.0.n)をインストールする必要があります。 |
デプロイメント構成ダイアログの「メイン」タブと「共通」タブ、そして「詳細オプション」ボタンから起動するAndroid詳細オプション・ダイアログでは、javac
コンパイラ・ツール・オプションの中で渡す値およびAndroid APIリビジョンも設定できます。
R.javaファイルと.classファイルのJDK互換性レベルを設定するには:
デプロイメント構成ダイアログで、「オプション」ボタンをクリックして「詳細オプション」ダイアログを開きます。
「最小SDK APIレベル」ドロップダウン・リストから、アプリケーションが実行できる最小APIレベルを選択します。最小デフォルト値は15で、Android 4.0.3プラットフォームに対応しています。
「ターゲットSDK APIレベル」ドロップダウン・リストから、アプリケーションが実行されるAPIレベルを選択します。最小(デフォルト)値はAPIレベル9で、これはAndroid 2.3.nプラットフォームに対応します。詳細は、Android開発者のWebサイト(http://developer.android.com/guide/topics/manifest/manifest-intro.html
)で入手可能な「The AndroidManifest.xml File」で、<uses-sdk>
属性の説明を参照してください。
アプリケーションは、Androidデバイスまたはエミュレータにデプロイする前に、署名する必要があります。Androidでは、認証局は不要です。アプリケーションは自己署名できます。
デプロイメントにおけるモバイル・アプリケーションの署名方法の定義は、2つの手順で構成されており、MAFプラットフォーム・プリファレンス・ページで、Androidアプリケーションの署名に使用するキーのリリース・プロパティをまず定義します。リリースの署名プロパティは、一度構成するのみでかまいません。これらのオプションを定義したら、デプロイメント・プロファイルを構成して、リリース・モードでアプリケーションをデプロイするかどうかを指定します。
始める前に:
キーストアが存在しない場合、OEPEによって作成されます。また、次の例に示すように、keytoolユーティリティを使用してキーストアを1つ作成できます。
keytool -genkey -v -keystore c:\oepe\workspace\releasesigning.keystore -alias releaseKeyAlias -keyalg RSA -keysize 2048 -validity 10000
Android開発者のWebサイト(http://developer.android.com/tools/publishing/app-signing.html
)で入手可能な「Signing Your Applications」で説明されているとおり、keytoolでは、キーストアを生成する前に、キーストアとキーのパスワード、およびキーの識別名フィールドを入力することを求められます。前述の例のキーストアには、10,000日間有効な単一のキーが含まれています。keytoolユーティリティの使用方法については、Java SEテクニカル・ドキュメント(http://download.oracle.com/javase/index.html
)を参照してください。
ヒント: Java Platform Standard Edition (Java SE) 7の場合は、-genkey コマンドのかわりに-genkeypair を使用します。 |
キー・オプションを構成するには、次の手順を実行します。
「ウィンドウ」→「プリファレンス」→「Oracle」→「モバイル・アプリケーション・フレームワーク」→Androidキーストアを選択します。
図28-8に示すように、「キーストアを選択」ダイアログの「追加」をクリックしてキーストアの場所に移動し、「OK」をクリックします。
キーストアのパスワードを入力します。正しいパスワードを入力すると、「追加」ボタンが有効になります。
図28-9に示すように、「追加」をクリックしてキーの別名の選択ダイアログを開きます。
キーの別名のパスワードを入力し、「OK」をクリックします。
これで、キーストアおよびキーの別名が、デプロイメント構成ダイアログで使用できます。
Androidビルド・モードを設定するには:
次のいずれかを実行します。
「実行」メニューから、「デバッグ構成」を選択します。アプリケーションの開発やテスト(JavaやJavaScriptのデバッグなど)を行う際は「デバッグ」を選択します。このオプションを使用すると、秘密鍵を提供しなくても、Androidプラットフォーム上でアプリケーションをデプロイできます。Androidエミュレータまたはテスト用のAndroidデバイスにアプリケーションをする場合は、このオプションを使用します。第31.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」も参照してください。
注意: デバッグ・キーストアおよびキーで署名されたアプリケーションは公開できません。デバッグ・キーストアおよびキーは、テストのみに使用され、エンド・ユーザーへのアプリケーションの公開には使用できません。 |
「実行」メニューから、「実行構成」を選択します。アプリケーションを公開する準備ができた場合は、「リリース」を選択します。このオプションは、アプリケーション・マーケットプレイス(Google Playなど)にアプリケーションを公開する準備ができた場合に使用します。
「デプロイメント構成」ダイアログで、.apk
ファイルがデバッグ・モードまたはリリース・モードで署名された後は、デバイスまたはエミュレータにデプロイできます。図28-10に示すように、実行時にMAFは、赤い三角形の中の感嘆符で表されるデバッグ・シンボルをオーバーレイすることで、アプリケーションがデバッグ・モードでデプロイされたことを示しています。
キーストア・アクセス用の資格証明は、Eclipse Secure Storageに保存され、ここには、ワークスペース外のデータが保存されます。場所は通常ホーム・ディレクトリですが、OSプラットフォームに応じて特定の場所は変わります。
Secure Storageの場所を探すには、次の手順を実行します。
メイン・メニューから「ウィンドウ」→「プリファレンス」を選択して「プリファレンス」ダイアログを開きます。
ノード「一般」→「セキュリティ」→Secure Storageを展開してSecure Storageページを表示します。
「コンテンツ」タブをクリックします。たとえば、user-home
/.eclipse/org.elipse.equinox.security/secure_storage
のように、ストレージの場所がダイアログの下部に表示されます。
ノード「Oracle」→「Eclipse」→「ツール」→「oepe」→「maf」→「Android」→「キーストア」を展開すると、保存されているパスワードを確認できます。
「プリファレンス」ダイアログの「Oracle」→「モバイル・アプリケーション・フレームワーク」→「Android」→「Androidキーストア」ページに、宣言されているキーストアごとにノードがあります。
ノードをクリックしてデータを表示します(パスワードは不明瞭化されています)。
注意: iOSのキーはMac固有のものであるため、キーをEclipseに保存する必要はありません。iOS XcodeBuildは、起動時に指定されるmobileprovisionに基づいてMac Keychainから直接抽出します(「プリファレンス」ダイアログの「Oracle」→「モバイル・アプリケーション・フレームワーク」→「Android」→「Androidキーストア」ページから構成されます)。 |
サイズや解像度の異なるAndroidデバイス上でMAFアプリケーション・アイコンが適切に表示されるようにするには、同じイメージの低密度、中密度および高密度バージョンを用意する必要があります。MAFは、これらの表示要件を満たすデフォルトのOracleイメージを提供します。ただし、アプリケーションでカスタム・アイコンが必要とされる場合は、「アプリケーション・イメージ」ページ(図28-11を参照)を使用して、アプリケーション・アイコンとスプラッシュ画面用のPNG形式のイメージを選択することで、デフォルト・イメージをオーバーライドできます。スプラッシュ画面には、縦向きと横向きのイメージを追加できます。カスタム・イメージ・ファイルを追加しない場合は、デフォルトのOracleアイコンが使用されます。カスタム・イメージを作成するには、『Iconography』ドキュメントを参照してください。このドキュメントは、Android開発者のWebサイト(http://developer.android.com/design/style/iconography.html
)にあります。
図28-11には、低密度、中密度、高密度および超高密度ディスプレイを装備するデバイスでの表示にアプリケーションで使用されるアプリケーション・アイコンのイメージと縦向きのスプラッシュ画面用のイメージを選択する様子が示されています。
始める前に:
Androidテーマに適しており、複数の画面タイプをサポートできるディメンション、密度およびコンポーネントを使用するPNG、JPEGまたはGIFファイル形式のイメージを取得します。イメージのデフォルトの場所はassembly directory
\res\android
にあります。詳細は、Android開発者のWebサイト(http://developer.android.com/guide/practices/screens_support.html
)にある『Supporting Multiple Screens』ドキュメントを参照してください。
カスタム・イメージを追加するには:
「実行」→「実行構成」をクリックして、デプロイメント構成ダイアログを開きます。
「オプション」をクリックしてAndroid詳細オプション・ダイアログを開き、「アプリケーション・イメージ」タブをクリックします。
変更するイメージの密度を選択して適切なノードを展開し、変更するイメージを選択します。
「参照」をクリックして使用する新しいイメージを選択し、「OK」をクリックします。
表28-1に示されているように、各イメージ・ファイルは、drawable
オブジェクトにちなんで名付けられたdrawable
というサブディレクトリにコピーされます。詳細は、Android開発者のWebサイト(http://developer.android.com/reference/android/graphics/drawable/Drawable.html
)を参照してください。それぞれのdrawable
ディレクトリは、イメージ密度(ldpi
、mdpi
、hdpi
およびxhdpi
)と向き(port
、land
)に対応します。これらのディレクトリ内で、OEPEは、各アイコン・イメージ・ファイルの名前をadfmf_icon.png
に、各スプラッシュ画面イメージの名前をadfmf_loading.png
に変更します。
注意: assembly project \.main.android の内容を表示するには、プロジェクト・エクスプローラのデフォルトのビューを変更する必要があります。詳細は、第2.2.2項「MAFアプリケーションを作成する場合の処理」を参照してください。 |
表28-1 シードされたアプリケーション・イメージのデプロイメント・ファイルの場所
ソース・ファイル(...\res\android) | 一時デプロイメント・ファイル(...\.main.android\build\release\res) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
カスタム・イメージの場合、OEPEは、アプリケーション・アイコンのセットを指定の場所から一時デプロイメントの場所の対応する密度と向きのサブディレクトリにコピーします。
モバイル・アプリケーションは、Androidエミュレータに直接デプロイできます。
始める前に:
Androidエミュレータにデプロイするには、次を行う必要があります。
Androidプラットフォームの「プリファレンス」ページでキーストア・パスワードおよびキーの別名の詳細を構成します(「ウィンドウ」→「プリファレンス」→「Oracle」→「モバイル・アプリケーション・フレームワーク」→「Android」→Androidキーストアを選択してアクセスします)。
注意: Android 4.0.nプラットフォーム(API 14以降)をインストールする必要があります。 |
Android Virtual Deviceインスタンスの構成にARMシステム・イメージが反映されていることを確認します。
アプリケーションをデプロイする前にAndroidエミュレータを起動します。
エミュレータは、Android Virtual Device Manager(図28-12を参照)またはコマンド行を使用して起動できます。コマンド行から起動する場合は、tools
ディレクトリ(Android\android-sdk
内)に移動し、emulator -avd
に続けてエミュレータ名を入力することで(例: -avd AndroidEmulator1
)、エミュレータを起動します。
注意: Androidエミュレータは一度に1つのみ実行できます。 |
アプリケーションをAndroidエミュレータにデプロイするには:
「実行」→「実行構成」を選択するか、「実行」→「デバッグ構成」を選択します。MAFアプリケーション・ノードの下で、Androidデプロイメント・プロファイルを選択します。
ターゲットが使用するものであることを確認し、「実行」または「デバッグ」をクリックします。
状況により、デプロイメント・プロセスがハングすることがあります。その場合、adbサーバーを強制終了してから再起動し、デプロイメントを再試行してください。
図28-13に示すように、コンソールでデプロイメント・ログを確認します。デプロイメント・ログには、デプロイヤがAndroidエミュレータの実行中インスタンスを検出し、Androidデバッグ・ブリッジ・サーバーを起動したことが示されます。
モバイル・アプリケーションは、2.n (APIレベル9)以上のプラットフォームで動作するAndroidデバイスに直接デプロイできます。
始める前に:
Oracle Enterprise Pack Oracle Enterprise Pack for Eclipseのインストールの説明に従って、OEPEをホストする開発コンピュータにデバイスを接続します。
図28-5に示すように、「デプロイ・オプション」ページで、ビルド・モードとして「デバッグ」を選択します。図28-5に示すように、デバッグ署名資格証明がAndroidプラットフォームの「プリファレンス」ページで構成されていることを確認します。
Androidデバイスにアプリケーションをデプロイするには:
「実行」→「実行構成」を選択して「実行構成」ダイアログを開きます。MAFアプリケーション・ノードの下で、Androidデプロイメント・プロファイルを選択します。
使用するターゲットを確認し、「実行」をクリックします。
図28-13に示すように、コンソールでデプロイメント・ログを確認します。デプロイメント・ログには、デプロイヤがAndroidエミュレータの実行中インスタンスを検出し、Androidデバッグ・ブリッジ・サーバーを起動したことが示されます。
「実行」→「実行構成」を選択するか、「実行」→「デバッグ構成」を選択します。MAFアプリケーション・ノードの下で、Androidデプロイメント・プロファイルを選択します。
ターゲットが使用するものであることを確認し、「実行」または「デバッグ」をクリックします。
第31章「MAFアプリケーションのテストとデバッグ」の説明に従ってアプリケーションのテストとデバッグが完了したら、Android開発者のWebサイト(http://developer.android.com/tools/publishing/publishing_overview.html
)の説明に従ってアプリケーション・マーケットプレイス(Google Playなど)にアプリケーションを公開できます。
始める前に:
実行構成を作成します。
注意: 第28.3.1.3項「Android署名オプションの定義」の説明に従って、Androidプラットフォームの「プリファレンス」ページで署名オプションを構成する必要があります(「ウィンドウ」→「プリファレンス」→「モバイル・アプリケーション・フレームワーク」を選択してアクセスします)。 |
.apkファイルとしてアプリケーションをデプロイするには:
「実行」→「実行構成」を選択して実行構成を作成します。MAFアプリケーション・ノードの下で、Androidデプロイメント・プロファイルを選択します。
使用するターゲットを確認し、「実行」をクリックします。
コンソールでデプロイメント・ログを確認します。
アプリケーション・マーケットプレイスにアプリケーションを公開します。
アプリケーションをデプロイすると、次のものが.apk
ファイルにデプロイされます。
adfmsrc
の内容
.adf
フォルダの内容
maf-application.xml
およびmaf-feature.xml
ファイル
logging.properties
ファイル
JVM 1.4ファイル
表28-2 .apkファイルの内容
内容 | .apkファイル内の場所 |
---|---|
|
Androidアプリケーション・ファイルのルート・フォルダ( |
|
デプロイメントでは、 このJARファイルには次が含まれます。
このJARファイルはDalvik仮想マシンによって処理されません。 |
|
Configurationというファイル( |
|
アプリケーション・ファイルのルートにあります。 |
JVM 1.4ファイル |
JVMファイルは次の2つの別個のフォルダにパッケージ化されます。
|
デプロイメント・アクションを選択した後、OEPEによって、メイン・ツールバーに「デバッグ」ボタンおよび「実行」ボタンへのショートカットが作成されます(図28-15を参照)。下向き矢印をクリックし、同じデプロイメント・アクションを使用してアプリケーションを簡単に再デプロイできるようにする構成を選択します。
OEPEでは、デバイスまたはエミュレータからのログ出力は、図28-16に示すように、コンソール内にストリームされます。これはデバッグにきわめて有効です。詳細は、第31.4.1項「プロパティ・ファイルを使用したロギングの構成方法」を参照してください。
図28-17に示すように、デプロイメント構成ダイアログでは、iOSアプリケーションを直接iOSシミュレータにデプロイしたり、iTunesを使用してデバイスにデプロイできます。iOSアプリケーションはAppleコンピュータからのみデプロイできます。iOSシミュレータへのデプロイメントを行うために、iOS Developer ProgramまたはiOS Developer Enterprise Programへのメンバーシップを取得する必要はありません。Apple開発者として登録されていれば、App Storeから入手できないXcodeのバージョンにアクセスできるので、問題ありません。iOSデバイスへのデプロイメントに必要なiOS開発者プログラム(第28.4.3項「iOSデバイスへのアプリケーションのデプロイ方法」と第28.4.6項「App StoreへのiOSアプリケーションの配布方法」で説明されています)の詳細は、https://developer.apple.com/programs/
を参照してください。
iOSの場合は、「デバッグ構成」ダイアログを使用して、iOSアプリケーションのビルド構成と、スプラッシュ画面イメージおよびアプリケーション・アイコンの場所を定義します。
始める前に:
Xcode (Xcode IDE、パフォーマンス分析ツール、iOSシミュレータ、Mac OS X、iOS SDKを含む)を、OEPEが実行されているAppleコンピュータにダウンロードします。
ヒント: アプリケーションのコンパイルに最低限必要なサポート対象のバージョンについては、Oracle Technology Network (http://www.oracle.com/technetwork/developer-tools/maf/documentation/index.html )で動作保証とサポートのマトリクスを参照してください。 |
Xcodeはデプロイメント時に使用されるため、OEPEからモバイル・アプリケーションをデプロイする前に、Appleコンピュータにインストールする必要があります。
ヒント: Xcodeの最新バージョンはApp Storeから入手できますが、次のサイトから以前のバージョンをダウンロードできます。
このサイトにアクセスするには、Apple IDおよびApple開発者としての登録が必要です。 |
Xcodeをダウンロードしたら、iOSプラットフォームの「プリファレンス」ページで、そのxcodebuildツールの場所を入力する必要があり、iOSシミュレータへのデプロイメントの場合は、iOSシミュレータのSDKの場所も入力します。詳細は、Oracle Enterprise Pack Oracle Enterprise Pack for Eclipseのインストールを参照してください。
注意: iTunesとiOSシミュレータの両方を1回以上実行してから、それらの場所をiOSプラットフォームの「プリファレンス」ページに入力します。 |
第28.4.1.2項「デバイス署名オプションの設定」で説明されているように、モバイル・アプリケーションを(iOSシミュレータへのデプロイメントとは対照的に) iOSデバイスにデプロイするには、iOSプロビジョニング・プロファイルからプロビジョニング・プロファイルと証明書の両方を取得する必要があります。
デプロイメント構成を作成するには、次の手順を実行します。
図28-18に示すように、「実行」→「デバッグ構成」を選択します。
デフォルト値をそのまま使用するか、次を定義します。
アセンブリ・プロジェクト - 使用可能なプロジェクトのリストから選択します。
デプロイされるバンドルID - 必要に応じて、会社のドメイン名を特定し、このアプリケーションに使用するバンドルIDを入力します。デプロイされるバンドルIDは、iOSデバイスにインストールされているアプリケーションごとに一意である必要があり、逆パッケージ・スタイル命名規則(つまり、com.<organization name>.<company name>)に準拠している必要があります。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『App Distribution Guide』
を参照してください。iOS Provisioning Portalを使用したバンドル・シードIDの取得の詳細は、第28.4.5.3項「アプリケーションIDの登録」を参照してください。また、第3.3項「アプリケーション機能の基本情報の定義方法」も参照してください。
注意: デプロイされるバンドルIDにはスペースは使用できません。 |
デプロイされる各バンドルIDは一意なため、複数のモバイル・アプリケーションを同じデバイスにデプロイできます。デプロイされるバンドルIDが異なっているかぎり、2つのアプリケーションに同じ名前を指定できます。同じデバイスにデプロイされるモバイル・アプリケーションは、それぞれ別のサンドボックスに配置されます。アプリケーションが相互に認識したり、データを共有することはありません(デバイス・スコープのみが共通になります)。
「ターゲット」 - 「プリファレンス」ダイアログの構成されているターゲットのリストから選択するか、「ターゲット」をクリックして新規ターゲットを追加します。
「ターゲットの構成」
iOSデプロイ・ターゲット - デバイスまたはシミュレータを選択します。
iOSシミュレータ・バージョン - デプロイ・ターゲットとして「シミュレータ」
を選択した場合、アプリケーションをデプロイする先のエミュレータのバージョンを選択します。使用可能なターゲット・バージョンを確認するには、iPhoneシミュレータで「Hardware」→「Version」を選択します。最低バージョンは6.0です。デフォルト設定は「最大使用可能」です。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『iOS Simulator User Guide』
を参照してください。
注意: 通常は、iOSターゲット・バージョンより古いバージョンをテスト用のシミュレータで使用できます。 |
モバイル・プロビジョニング・プロファイルの選択 -
iOS配布パッケージ(ipa) - 必要に応じて、.ipa
ファイルまたは.app
ファイルの名前を入力します。「デプロイメント・アクション」ダイアログ(図28-17
を参照)で「配布パッケージにデプロイ」または「デバイスとの同期のためにiTunesにデプロイ」オプションを選択すると、MAFによって.ipaファイルが作成されます。「アプリケーションのシミュレータへのデプロイ」
オプションを選択すると、.appファイルが作成されます。または、デフォルトの名前を使用します。詳細は、第28.4.3項「iOSデバイスへのアプリケーションのデプロイ方法」と第28.4.6項「App StoreへのiOSアプリケーションの配布方法」を参照してください。
MAFのデフォルトでは、.ipa
ファイル(または.app
ファイル)の名前は、maf-application.xml
ファイルで構成されているアプリケーションのid
属性に基づいて付けられます。詳細は、第3.3項「アプリケーション機能の基本情報の定義方法」を参照してください。
「詳細オプション」 - 「オプション」をクリックして「詳細オプション」ダイアログを開き、ここで図28-19に示すように、様々なオプションを設定できます。
最小iOSバージョン: アプリケーションをデプロイできるiOSバージョンの中で、最も古いものを指定します。デフォルト値は現在のバージョンです。バージョンは、インストールされているSDKのバージョンによって異なります。
iOSビルド・オプションでは、デバッグまたはリリース・ビットとライブラリによりアプリケーションをデプロイできます。「オプション」ページには、iOS署名モードの構成オプション、デバッグ・モードとリリース・モードが表示されます。
始める前に:
iOSアプリケーション(.ipa
ファイル)をiOSデバイスにデプロイするには、インストールの必須コンポーネントであるプロビジョニング・プロファイルと、デバイス上の開発者とアプリケーションを特定する署名済証明書が必要です。これらは、第28.4.5項「iOSデバイスへのアプリケーションのデプロイに関する必知事項」の説明に従ってiOSプロビジョニング・ポータルから取得する必要があります。また、プロビジョニング・プロファイルを、「Oracle」→MAF→「iOS」ページ(「プリファレンス」ダイアログ) (「ウィンドウ」メニューから使用可能)で登録します。iOSデプロイ・ターゲット用のiTunesまたはパッケージを選択するとき、デバッグ構成または実行構成でプロビジョニング・プロファイルを選択します。
実行構成またはデバッグ構成でプロビジョニング・プロファイルを選択すると、デプロイされるバンドルIDの接頭辞がそこから推論されます。
また、第28.4.1.2項「デバイス署名オプションの設定」の説明に従って、iOSプラットフォームの「プリファレンス」ページでプロビジョニング・プロファイルの場所と証明書の名前を入力する必要があります。
ビルド・オプションを設定するには:
図28-18に示すように、デプロイメント構成ダイアログを開きます。
次のいずれかのオプションを選択します。
「実行」→「デバッグ構成」 - 開発ビルド用にはこのオプションを選択します。デバッグ・ビルドを指定すると、デバッグ・シンボルが含まれます。第31.3.2項「iOSプラットフォームでのデバッグ方法」と第31.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」も参照してください。
「実行」→「実行構成」 - リリースに必要なファイル、アーティファクトおよびライブラリとともにビルドをコンパイルする場合にこれを選択します。
ヒント: アプリケーションのパフォーマンスをテストするには、デバッグ・モードではなくリリース・モードを使用します。 |
iOSの場合のみ、Oracle Mobile Security Suiteを有効にします(「Oracleモバイル・セキュリティ・スイートの有効化」)。Oracle Mobile Security Suiteによるコンテナ化を有効にする場合に選択します。このオプションは、iTunesへのデプロイメントにのみ適用され、パッケージまたはシミュレータへのデプロイメントでは無視されます。詳細は、第28.8項「Oracle Mobile Security Suiteでのデプロイ」を参照してください。
図28-10「デプロイメント・モード」に示すように、実行時に、赤い三角形の中の感嘆符で表されるデバッグ・シンボルを重ねることで、アプリケーションがデバッグ・モードでデプロイされたことをMAFは示します。
iOSプラットフォームの「プリファレンス」ページには、開発コンピュータ上でのプロビジョニング・プロファイルの場所と証明書の名前のフィールドが含まれています。アプリケーションをiOSデバイスにデプロイするか、MAFアプリケーション・アーカイブとしてデプロイする場合は、これらのパラメータを定義する必要があります。
注意: モバイル・アプリケーションをiOSシミュレータにデプロイする場合は、証明書もプロビジョニング・プロファイルも不要です。 |
署名オプションを設定するには:
「ウィンドウ」→「プリファレンス」→「モバイル・アプリケーション・フレームワーク」を選択します。
「iOS」→iOSモバイル・プロビジョニングを選択します。
図28-20に示すように、ページのモバイル・プロビジョニング情報セクションのモバイル・プロビジョニング・ファイルにプロビジョニング・プロファイルの場所を入力します。
OEPEによって「証明書」が入力されます。
注意: プロビジョニング・プロファイルには、アプリケーションの開発バージョン用とリリース・バージョン用の両方があります。アプリケーションのリリース・バージョンに使用されるプロビジョニング・プロファイルは、あらゆるデバイスにインストールできます。一方、開発バージョン用のプロビジョニング・プロファイルは、IDがプロファイルに埋め込まれたデバイスのみにインストールできます。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/
)にある『App Distribution Guide』 を参照してください。 |
独自のカスタム・イメージをアプリケーションに追加できます。
「アプリケーション・イメージ」ページでは、アプリケーション・アイコン、およびカスタム・イメージ付きのアートワークに使用されているデフォルトのOracleイメージをオーバーライドすることで、アプリケーションをリブランドできます。図28-21に示されているこのページのオプションでは、様々な状況およびデバイスの解像度で使用されるカスタム・イメージの場所を入力できます。iOSアプリケーション・アイコン・イメージの詳細は、『iOS Human Interface Guidelines』の「Icon and Image Design」セクションを参照してください。このドキュメントは、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/
)から入手できます。
注意: すべてのイメージはPNG形式であることが必要です。 |
カスタム・イメージを追加するには:
「実行」→「デバッグ構成」を選択して、デプロイメント構成を開きます。
「オプション」をクリックしてiOS詳細オプション・ダイアログを開きます。
「アプリケーション・イメージ」タブをクリックし、iPhoneまたはiPodのイメージを変更するかどうかを選択します。
変更するイメージを選択し、「参照」を選択して使用するイメージ・ファイルを選択します。このイメージ・ファイルは、現在のアプリケーション内に存在している必要があります。
デプロイメント時に、OEPEは、カスタム・イメージ・ファイルをデプロイメント・プロファイルにコピーし、デフォルト・イメージの名前と一致するように名前を変更します。
詳細は、第28.4.1.4項「iTunesアートワークに関する必知事項」を参照してください。
「OK」をクリックします。
デフォルトでは、iTunesを通してiOSデバイスにデプロイされる、またはダウンロード用のアーカイブ(.ipa
ファイル)としてデプロイされるモバイル・アプリケーションでは、別途指定されていないかぎり、デフォルトのOracleイメージが使用されます。
デプロイされるアプリケーションのアイコンとしてiTunesアートワーク・イメージを選択することで、デフォルトのイメージをオーバーライドします。イメージを使用してアプリケーションのバージョンを区別できます。図28-22に、デフォルト・イメージとユーザーが選択したイメージの違いを示します。Application4にはデフォルト・イメージが、Application6にはユーザーが選択したイメージ(512 x 512ピクセルにスケールを変更したOracleアイコン)が表示されています。
デプロイメント時に、MAFは、.ipa
ファイルのトップレベルのiTunesArtworkというファイルにそのiTunesのアートワーク・イメージを追加することで、iTunesでそのアイコンが表示されるようにします。
デフォルトでは、MAFは、iPhoneとiPadの両方ですべての向きをサポートしています。たとえば、iPads上で上下逆の縦向きでのみ表示する必要があるアプリケーションでは、「デバイスの向き」ページ(図28-23を参照)を使用して、アプリケーションの回転をこれらの向きのみに制限できます。
アプリケーションの表示をデバイスの特定の向きに制限するには:
「デプロイメント・アクション」ダイアログでは、iOSアプリケーションを直接iOSシミュレータにデプロイできます。
始める前に:
iOSシミュレータへのデプロイメントを可能にするには、次のタスクを実行する必要があります。
iOSシミュレータにアプリケーションをデプロイするには:
図28-24に示すように、「実行」→「実行構成」を選択して、「実行構成」ダイアログを開きます。
デフォルト値をそのまま使用するか、次を定義します。
アセンブリ・プロジェクト - 使用可能なプロジェクトのリストから選択します。
デプロイされるバンドルID - 必要に応じて、会社のドメイン名を特定し、このアプリケーションに使用するバンドルIDを入力します。デプロイされるバンドルIDは、iOSデバイスにインストールされているアプリケーションごとに一意である必要があり、逆パッケージ・スタイル命名規則(つまり、com.<organization name>.<company name>)に準拠している必要があります。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『App Distribution Guide』
を参照してください。iOS Provisioning Portalを使用したバンドル・シードIDの取得の詳細は、第28.4.5.3項「アプリケーションIDの登録」を参照してください。また、第3.3項「アプリケーション機能の基本情報の定義方法」も参照してください。
注意: デプロイされるバンドルIDにはスペースは使用できません。 |
デプロイされる各バンドルIDは一意なため、複数のモバイル・アプリケーションを同じデバイスにデプロイできます。デプロイされるバンドルIDが異なっているかぎり、2つのアプリケーションに同じ名前を指定できます。同じデバイスにデプロイされるモバイル・アプリケーションは、それぞれ別のサンドボックスに配置されます。アプリケーションが相互に認識したり、データを共有することはありません(デバイス・スコープのみが共通になります)。
「ターゲット」 - 「プリファレンス」ダイアログの構成されているターゲットのリストから選択するか、「ターゲット」をクリックして新規ターゲットを追加します。
「ターゲットの構成」
iOSデプロイ・ターゲット - 「シミュレータ」
を選択します。
iOSシミュレータ・バージョン - アプリケーションをデプロイするシミュレータのバージョンを選択します。使用可能なターゲット・バージョンを確認するには、iPhoneシミュレータで「Hardware」→「Version」を選択します。最低バージョンは6.0です。デフォルト設定は「最大使用可能」です。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『iOS Simulator User Guide』
を参照してください。
注意: 通常は、iOSターゲット・バージョンより古いバージョンをテスト用のシミュレータで使用できます。 |
モバイル・プロビジョニング・プロファイルの選択 -
iOS配布パッケージ(ipa) - 必要に応じて、.app
ファイルの名前を入力します。「アプリケーションのシミュレータへのデプロイ」
オプションを選択すると、MAFによって.appファイルが作成されます。または、デフォルトの名前を使用します。
デフォルトのMAFでは、.ipa
ファイルの名前は、maf-application.xml
ファイルで構成されているアプリケーションのid
属性に基づいて付けられます。詳細は、第3.3項「アプリケーション機能の基本情報の定義方法」を参照してください。
「詳細オプション」 - 「オプション」をクリックして「詳細オプション」ダイアログを開き、様々なオプションを設定します。
最小iOSバージョン: アプリケーションをデプロイできるiOSバージョンの中で、最も古いものを指定します。デフォルト値は現在のバージョンです。バージョンは、インストールされているSDKのバージョンによって異なります。
「デバイスとの同期のためにiTunesにデプロイ」オプションを使用すると、モバイル・アプリケーションをデバッグおよびテスト用のiOSデバイスにデプロイできます。iOSデバイスまたは配布サイトへのデプロイメントには、iOS Developer ProgramまたはiOS Developer Enterprise Programへのメンバーシップが必要です。詳細は、https://developer.apple.com/programs/
を参照してください。
始める前に:
アプリケーションをOEPEから直接iOSデバイスにデプロイすることはできず、かわりにアプリケーションをApple iTunesのApplicationsフォルダからデプロイする必要があります。そのためには、次のタスクを実行する必要があります。
Apple iTunesを開発コンピュータにダウンロードし、それを1回以上実行して、必要なフォルダとディレクトリを作成します。
iOSプラットフォームのプリファレンス・ページで、iTunesに自動的に追加
フォルダの場所(アプリケーションのデプロイメントに使用される場所)を設定します(図28-25を参照)。
ヒント: ユーザーのホーム・ディレクトリ(/User/<username>/Music/iTunes/iTunes Media/Automatically Add to iTunes.localized )は、iTunes Mediaフォルダのデフォルト・ディレクトリですが、このフォルダの場所は次のように変更できます。
手順の詳細は、Apple Support ( iOSプラットフォームの「プリファレンス」ページで、場所を更新する必要もあります。 |
xcodebuildツールが起動されるXcodeフォルダの場所を設定します(例: 図28-25
の/Developer/usr/bin)。
証明書の名前とプロビジョニング・プロファイルの場所を、iOSプラットフォームの「プリファレンス」ページで入力します。iOS Provisioning Portalによって、iOSデバイスへのデプロイメントまたはApp Storeや内部ダウンロード・サイトへの.ipa
ファイルの公開に必要な証明書とプロビジョニング・プロファイルが生成されます。
注意: デバイスまたはアーカイブにデプロイするようにiOSプロビジョニング・プロファイルと証明書を設定しないと、デプロイメントは失敗します。MAFでは、このような状況でデプロイに失敗したアプリケーションがログに記録されます。詳細は、第28.4.5項「iOSデバイスへのアプリケーションのデプロイに関する必知事項」を参照してください。 |
デプロイメント・プロファイルの「iOSオプション」ページで、ビルド・モードとして「実行」→「OK」を選択します。
iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)から入手できる『App Distribution Guide』
を参照してください。
iOSデバイスにアプリケーションをデプロイするには:
図28-18に示すように、「実行」→「デバッグ構成」を選択します。
デフォルト値をそのまま使用するか、次を定義します。
アセンブリ・プロジェクト - 使用可能なプロジェクトのリストから選択します。
デプロイされるバンドルID - 必要に応じて、会社のドメイン名を特定し、このアプリケーションに使用するバンドルIDを入力します。デプロイされるバンドルIDは、iOSデバイスにインストールされているアプリケーションごとに一意である必要があり、逆パッケージ・スタイル命名規則(つまり、com.<organization name>.<company name>)に準拠している必要があります。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『App Distribution Guide』
を参照してください。iOS Provisioning Portalを使用したバンドル・シードIDの取得の詳細は、第28.4.5.3項「アプリケーションIDの登録」を参照してください。また、第3.3項「アプリケーション機能の基本情報の定義方法」も参照してください。
注意: デプロイされるバンドルIDにはスペースは使用できません。 |
デプロイされる各バンドルIDは一意なため、複数のモバイル・アプリケーションを同じデバイスにデプロイできます。デプロイされるバンドルIDが異なっているかぎり、2つのアプリケーションに同じ名前を指定できます。同じデバイスにデプロイされるモバイル・アプリケーションは、それぞれ別のサンドボックスに配置されます。アプリケーションが相互に認識したり、データを共有することはありません(デバイス・スコープのみが共通になります)。
「ターゲット」 - 「プリファレンス」ダイアログの構成されているターゲットのリストから選択するか、「ターゲット」をクリックして新規ターゲットを追加します。
「ターゲットの構成」
iOSデプロイ・ターゲット - デバイスまたはシミュレータを選択します。
iOSシミュレータ・バージョン - デプロイ・ターゲットとして「シミュレータ」
を選択した場合、アプリケーションをデプロイする先のエミュレータのバージョンを選択します。使用可能なターゲット・バージョンを確認するには、iPhoneシミュレータで「Hardware」→「Version」を選択します。最低バージョンは6.0です。デフォルト設定は「最大使用可能」です。詳細は、iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/)で利用できる『iOS Simulator User Guide』
を参照してください。
注意: 通常は、iOSターゲット・バージョンより古いバージョンをテスト用のシミュレータで使用できます。 |
モバイル・プロビジョニング・プロファイルの選択 -
iOS配布パッケージ(ipa) - 必要に応じて、.ipa
ファイルまたは.app
ファイルの名前を入力します。「デプロイメント・アクション」ダイアログ(図28-17
を参照)で「配布パッケージにデプロイ」または「デバイスとの同期のためにiTunesにデプロイ」オプションを選択すると、MAFによって.ipaファイルが作成されます。「アプリケーションのシミュレータへのデプロイ」
オプションを選択すると、.appファイルが作成されます。または、デフォルトの名前を使用します。詳細は、第28.4.3項「iOSデバイスへのアプリケーションのデプロイ方法」と第28.4.6項「App StoreへのiOSアプリケーションの配布方法」を参照してください。
MAFのデフォルトでは、.ipa
ファイル(または.app
ファイル)の名前は、maf-application.xml
ファイルで構成されているアプリケーションのid
属性に基づいて付けられます。詳細は、第3.3項「アプリケーション機能の基本情報の定義方法」を参照してください。
「詳細オプション」 - 「オプション」をクリックして「詳細オプション」ダイアログを開き、ここで図28-19に示すように、様々なオプションを設定できます。
最小iOSバージョン: アプリケーションをデプロイできるiOSバージョンの中で、最も古いものを指定します。デフォルト値は現在のバージョンです。バージョンは、インストールされているSDKのバージョンによって異なります。
iOS Developer Programのメンバーのみがアクセス可能なiOS Provisioning Portalを使用して最初にプロビジョニング・プロファイルを作成しないかぎり、iOSアプリケーション(つまり、.ipa
ファイル)をiOSデバイスにデプロイしたり、App Storeまたは内部のホストされたダウンロード・サイトに公開することはできません。第28.4.1.2項「デバイス署名オプションの設定」の説明に従って、「オプション」ページでプロビジョニング・プロファイルの場所と証明書の名前を入力します。
『App Distribution Guide』(iOS開発者ライブラリ(http://developer.apple.com/library/ios/navigation/
)から入手可能)で説明されているように、プロビジョニング・ファイルは、開発証明書、デバイスおよびアプリケーションIDを関連付けます。iOS Provisioning Portalでは、これらのエンティティとプロビジョニング・プロファイルを作成できます。
ヒント: プロビジョニング・プロファイルをダウンロードしたら、このファイルをダブルクリックしてLibrary/MobileDevice/Provisioning Profile ディレクトリに追加してください。 |
証明書は、開発者のアイデンティティに関する情報と公開鍵および秘密鍵が結合された電子的なドキュメントです。iOS開発用証明書がOS開発者として識別し、デプロイメントのためのアプリケーションの署名を有効にするので、証明書をダウンロードしたら、基本的に開発者自身のアイデンティティを開発コンピュータにインストールします。iOSオペレーティング環境では、すべての証明書がKeychainによって管理されます。
iOS Provisioning Portalの「Certificates」ページを使用して、CSR(証明書署名リクエスト)をログに記録します。CSRを完了すると、iOS Provisioning PortalによってiOS開発用証明書が発行されます。
開発コンピュータに証明書をインストールしたら、「Current Available Devices」タブ(iOS Provisioning Portalの「Devices」ページ内)をレビューして、開発者自身(またはその会社)がテストやデバッグに使用するAppleデバイスを特定します。シリアル番号のような一意のデバイス識別子(UDID)によって各デバイスを識別するこのリストにデバイスが含まれていないかぎり、アプリケーションはデプロイできません。
アプリケーションIDは、デバイス上のアプリケーションの一意の識別子です。アプリケーションIDは、第3.4項「モバイル・アプリケーションのIDおよび表示動作の設定方法」で説明されている書式の、バンドルIDと呼ばれる管理者が作成したリバース・ドメイン名の前に、バンドル・シードと呼ばれるAppleが生成した10文字の英数字文字列が付加された構成になります。図28-29には、他のアプリケーションとファイルやKeychainを共有しない、一意のアプリケーションIDが示されています。
8E549T7128.com.oracle.*のように、アプリケーション名にワイルドカード文字(*)を使用すると、一連のアプリケーション間でアプリケーションIDを共有できます。たとえば、com.oracle.MAF.*という管理者名がiOSプロビジョニング・ポータルにある場合、これにより、異なるアプリケーション(com.oracle.MAF.application1およびcom.oracle.MAF.application2)を指定できます。
注意: アプリケーションでプッシュ通知を受信する場合、アプリケーションIDは、ワイルドカード文字ではなく、完全な一意のIDである必要があります。ワイルドカードによって識別されるアプリケーションでは、プッシュ通知を受信できません。詳細は、iOS Developer Library (http://developer.apple.com/library/ios/navigation/)で入手可能な『Local and Push Notification Programming Guide』 の「Provisioning and Development」を参照してください。 |
アプリケーション間で8E549T7128などの同じ接頭辞を共有する場合、それらのアプリケーションでは、ファイルまたはキー・チェーンを共有できます。
注意: バンドルIDは、デプロイメント・プロファイルの「オプション」ページで設定されたアプリケーションIDと一致している必要があります。 |
iOSデバイス上でのアプリケーションのテストとデバッグが終了したら、App Storeまたは内部ダウンロード・サイトを通してより広範なオーディエンスにアプリケーションを配布できます。App Storeにアプリケーションを公開するには、.ipa
ファイルをiTunes Connectに送信する必要があります。これによって、.ipa
ファイルをiTunesに追加して、アプリケーションを更新し、テスト・ユーザーを作成することが可能になります。
始める前に:
アプリケーションを配布する前に、次のタスクを実行する必要があります。
図28-25に示すように、iOSプラットフォームの「プリファレンス」ページで、自動的にiTunesに追加
ディレクトリの名前を入力します。
実際のiOSデバイス上でアプリケーションをテストします。第28.4.3項「iOSデバイスへのアプリケーションのデプロイ方法」を参照してください。
iOS Provisioning Portalを通して配布証明書を取得します。
注意: 配布証明書を作成できるのは、チーム・エージェントのみです。 |
.ipa
ファイルをiTunesに配布するための、iTunes Connectアカウントを取得します。詳細は、iOS Development CenterのApp Store Resource Centerにある『Prepare App Submission』を参照してください。具体的には、『App Store Review Guidelines』を確認して、App Review Teamに確実に受け入れられるようにしてください。
『iTunes Connect Developer Guide』を参照したいことがあります。どちらのガイドも、iOS Developer Library (http://developer.apple.com/library/ios/navigation/
)から入手できます。
デプロイメント・プロファイルの「iOSオプション」ページで、ビルド・モードとしてアプリケーション配布ガイド・リリースを選択し、「OK」をクリックします。
iOSアプリケーションをApp Storeに配布するには:
「実行」→「実行構成」を選択し、iOSデプロイメント構成を選択します。
「配布パッケージにデプロイ」を選択します。
「サマリー」ページをレビューします。このページには、次の値が表示されます。「終了」をクリックします。
デプロイされるバンドルID - Java言語のようなパッケージ名を含む一意な名前で、iOSプロビジョニング・ポータルから生成されるバンドル・シードの接頭辞が付いたもの(com.<organization name>.<application name>)。
ファイル: iOSターゲットにデプロイされる最終イメージのファイル名。
証明書: アプリケーションの作成者。デプロイメント・プロファイルのiOSプラットフォームの「プリファレンス」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
プロビジョニング・プロファイル: 1つ以上の開発用証明書とデバイスをアプリケーションIDと関連付けるプロビジョニング・プロファイルの名前。iOSプラットフォームの「プリファレンス」ページでこの値が構成されていない場合、「サマリー」ページには<指定なし>と表示されます。
注意: 証明書とプロビジョニング・プロファイルの値は、<指定なし>にはできません。.ipa ファイルがiTunesで受け入れられるようにするには、「オプション」ページでこれらの値を指定する必要があります。 |
iTunes Connectにログインします。
『iTunes Connect Developer Guide』の「Adding New Apps」と「Using Application Loader」の項で説明されているManage Your ApplicationsモジュールとApplication Loaderを使用して、検討用に.ipa
ファイルをiTunes Connectに送信します。
アプリケーションが承認されたら、『iTunes Connect Developer Guide』の「Creating Test Users」の項でManage Usersモジュールの使用方法を参照してください。多言語アプリケーションをテストするには、アプリケーションのローカライズ対象地域のテスト・ユーザー・アカウントを作成します。
Managing Your Applicationモジュールを使用したバイナリの更新については、『iTunes Connect Developer Guide』の「Editing and Updating App Information」の項を参照してください。
MAFビュー・コントローラ・プロジェクトによる再利用を可能にするために、アプリケーション機能(一般的に、MAF AMXまたはローカルHTMLとして実装されるもの)は、機能アーカイブ(FAR)というアーカイブにバンドルされます。FARは、モバイル・アプリケーションが使用できるアプリケーション機能のアーティファクトを格納したJARファイルです。FARには、Javaクラスを含めることも可能ですが、これらのクラスはコンパイルする必要があります。次の例は、1つのmaf-feature.xml
ファイルと1つのconnections.xml
ファイルを含むFARの内容を示しています。
connections.xml (or some form of connection metadata) META-INF jar-connections.xml jar-adf-config.xml adfm.xml maf-feature.xml MANIFEST.MF task-flow-registry.xml oracle application1 mobile DataControls.dcx DataBindings.cpx pageDefs view1PageDefs model Class1.class public_html adfc-mobile-config.xml index.html navbar-icon.html springboard-icon.html view1.amx task-flow-definition.xml
機能アーカイブ・ファイルでの作業には、次のタスクがあります。
機能アーカイブ・ファイルの作成 - ビュー・プロジェクトをFARとしてエクスポートすることで、機能アーカイブを作成します。
モバイル・アプリケーション作成時の機能アーカイブ・ファイルの使用 - これには、アプリケーションへのFARの登録、およびアプリケーションへのFAR内の機能の登録が含まれます。
FARの機能を含むモバイル・アプリケーションのデプロイ - これには、デプロイメント・テンプレート内の一意の名前が付けられたフォルダへのFARの解凍が含まれます。
注意: デプロイメント・プロセス時にMAFはFARを生成します。別のアプリケーションでこのFARを使用する場合は、ビュー・プロジェクトのみをデプロイすればすみます。 |
OEPEのエクスポート・ウィザードを使用して.far
ファイルを作成します。
始める前に:
アプリケーションの適切な接続を作成します。FARは様々な接続要件を持つ様々なアプリケーションで使用できるため、接続ソースまたは標準化された実際の接続名を表す接続名を選択します。
モバイル機能を機能アーカイブ・ファイルとしてパッケージ化する方法
「ファイル」をクリックし、「エクスポート」を選択します。
図28-30に示すように、「エクスポート」ウィザードで、「Oracle」→「モバイル・アプリケーション・フレームワーク」を展開し、モバイル機能アーカイブ(FAR)を選択します。
図28-31に示すように、「次へ」をクリックし、アーカイブする機能を含んでいるビュー・プロジェクトを選択し、アーカイブ・ファイルの名前を入力します。
注意: プロファイルには適切な名前を付けてください。そうしないと、アーカイブ名が同じアプリケーション機能を複数アップロードしたときに、問題が発生する可能性があります。 |
「終了」をクリックします。「サマリー」ページ(図28-32を参照)に、機能アーカイブ・ファイルのJARパスがデプロイされるフルパスが表示されます。
「デプロイメント・アクション」ダイアログでは、FARをJARファイルとしてデプロイできます。このダイアログには、1つのみのデプロイメント・オプション「機能アーカイブJARファイルへのデプロイ」があります。
機能アーカイブのデプロイメント・プロファイルをデプロイするには:
ビュー・コントローラ・プロジェクトを右クリックして、機能アーカイブのデプロイメント・プロファイルを選択します。
「終了」をクリックします。「サマリー」ページ(図28-32を参照)に、機能アーカイブ・ファイルのJARパスがデプロイされるフルパスが表示されます。
外部アプリケーションからFARを使用するには、FARをアプリケーションのmaf-application.xml
ファイルに登録する必要があります。図28-33は、ファイル・システム接続によりモバイル・アプリケーションで使用可能となる機能アーカイブを示しています。
MAFアプリケーション・アーカイブ(.maa
)・ファイル形式を使用すると、署名されていないモバイル・アプリケーションをサード・パーティに提供できます。インポートした.maa
ファイルからモバイル・アプリケーションを導出することによって、次のような様々なカスタマイズが可能になります。
アプリケーションへの一意のアプリケーションIDの付与(プッシュ通知を有効にする場合など)。
企業固有の資格証明または証明書を使用した、アプリケーションへの署名。
カスタマイズされたスプラッシュ画面とアプリケーション・アイコンによる、リソースの置換え。
新しいモバイル・アプリケーションを既存のモバイル・アプリケーションから作成するには、まず元のモバイル・アプリケーションをモバイル・アプリケーション・アーカイブ(.maa
)ファイルとしてパッケージ化した後、このファイルから新しいモバイル・アプリケーションを導出します。.maa
ファイルは、サード・パーティによる使用が可能です(第28.7項「署名されていないデプロイメント・パッケージの作成」を参照)。
.maa
ファイルによって、モバイル・アプリケーションの構造が保持されます。表28-4に、このファイルの内容を示します。
表28-4 モバイル・アプリケーション・アーカイブ・ファイルの内容
ディレクトリ | 説明 |
---|---|
|
次のようなメタデータ・ファイルを含む
|
|
ワークスペース内の各プロジェクトに対応するJARファイルが格納されます。たとえば、デフォルトのモバイル・アプリケーションを OEPEで作成された |
|
元のモバイル・アプリケーションの外部にあるアプリケーション・レベルのライブラリ(FARを含む)が格納されます。 |
|
|
|
次のディレクトリが含まれます。
|
表28-4に一覧表示されたアーティファクトに加えて、.maa
ファイルには、元のモバイル・アプリケーションの内部にあるFARまたはJARファイルが格納されたフォルダが含まれます。第28.7.2項「MAFアプリケーション・アーカイブ・ファイルをインポートする場合の処理」も参照してください。
注意: .maa ファイルを既存のアプリケーションにインポートすると、ワークスペースとプロジェクトのコンテナ・ファイル(それぞれ.jws ファイルと.jpr ファイル)が上書きされます。このため、MAF AMXページと構成ファイル(maf-application.xml 、maf-config.xml 、connections.xml 、adf-config.xml など)に対して以前加えた変更の一部は保持されません。 |
MAFアプリケーション・アーカイブ(.maa
)・ファイル形式を使用すると、署名されていないモバイル・アプリケーションをサード・パーティに提供できます。インポートした.maa
ファイルからモバイル・アプリケーションを導出することによって、次のような様々なカスタマイズが可能になります。
アプリケーションへの一意のアプリケーションIDの付与(プッシュ通知を有効にする場合など)。
企業固有の資格証明または証明書を使用した、アプリケーションへの署名。
カスタマイズされたスプラッシュ画面とアプリケーション・アイコンによる、リソースの置換え。
注意: .maa ファイルは、1つ以上の同じプロジェクトをすでに含んだワークスペースにはインポートできません。かわりに、.maa ファイルを異なるワークスペースにインポートする必要があります。 |
署名されていないアプリケーションを作成するには、.maa
ファイルを新しいモバイル・アプリケーションにインポートします。
署名されていないアプリケーションを作成するには:
「File」→「インポート」を選択します。
「インポート」ウィザードで、「Oracle」を展開し、モバイル・アプリケーション・アーカイブ(MAA)を選択します。「次へ」をクリックします。
「モバイル・アプリケーション・アーカイブ(MAA)のインポート」ページで、「参照」をクリックし、MAAファイルに移動します。「次へ」をクリックします。
デプロイメント・ターゲットの構成ページで、デプロイする先のターゲットを選択し、「終了」をクリックします。
MAFでは、.maa
ファイルのインポート後に次のことを実行します。
アセンブリ・プロジェクト、アプリケーション・プロジェクトおよびビュー・プロジェクトごとにプロジェクトが作成されます。
.maa
ファイルからファイルが解凍されます。
Oracle Mobile Security Suite (OMSS)は、モバイル・アプリケーション向けにエンタープライズレベルのセキュリティを備えています。デプロイメント時のコンテナ化により、データ漏えいを防止し、アプリケーション・データおよびデータベース・コンテンツを暗号化します。OMSSによるMAFアプリケーションのコンテナ化の詳細は、第2.4項「エンタープライズ配布のためのMAFアプリケーションのコンテナ化」を参照してください。
始める前に:
OMSSコンテナ化ツールをインストールしている必要があります。このツールは、c14n
というファイル名のコマンドライン・ユーティリティです。OMSSをダウンロードし、Oracle Technology Networkでインストールに関する説明を読んでください。
http://www.oracle.com/technetwork/middleware/id-mgmt/overview/default-2099033.html
注意: iOSの場合は、第28.4.1.2項「デバイス署名オプションの設定」の説明に従って、iOSプラットフォームのプリファレンス・ページでプロビジョニング・プロファイルの名前も選択している必要があります。コンテナ化はAndroidではサポートされていません。 OEPEでは、OMSSでコンテナ化されたモバイル・アプリケーションをデフォルト名のエミュレータにデプロイできません。 |
「実行」→「実行構成」を選択します。
「ターゲットの構成」ペインで、MAFアプリケーションを選択し、新規の実行構成を作成するか、既存の実行構成を選択します。
「メイン」タブの下部にある「コンテナ化」ペインで、「Oracleモバイル・セキュリティ・スイートの有効化」を選択して、コンテナ化ツールの場所をクリックします。これにより、「プリファレンス」メニューから「コンテナ化」ダイアログが表示されます(図28-36を参照)。
「参照」アイコンをクリックし、ローカル・ファイル・システムでOracle Mobile Security Appコンテナ化ツールの場所を探します。
「OK」をクリックしてコンテナ化ツールを選択します。
「実行構成」ダイアログで、「実行」を選択します。
注意: iOSの場合、コンテナ化はiTunesデプロイメントでのみサポートされています。配布パッケージまたはシミュレータへのデプロイメントでは、コンテナ化された.ipa ファイルを作成することはありません。 |
Oracle Mobile Security Suiteにより保護されたプラットフォーム固有のファイル(Androidの場合)が作成されます。
iOSの場合は.ipa
。
Androidの場合は.apk
。OMSSにより、アプリケーションにコンパイルされる中間の.h
ヘッダー・ファイルが作成される場合があります。
コンテナ化されたアプリケーションをデバイスに追加すると、そのアプリケーションにロック・アイコンが表示されます(図28-37を参照)。
Oracle Mobile Security Suite (OMSS)でコンテナ化されたMAFアプリケーションをデプロイすると、現在利用可能なアプリケーションのリストが表示されるOMSSモバイル・アプリケーション・カタログにアップロードできます。アプリケーションをエンド・ユーザーに公開する前に、OMSS管理者は様々なポリシーをアプリケーションに適用して、その機能を管理します。OMSSサーバー側で特定のポリシーを適用する前に、OMSS管理者は、Oracle Mobile Security Appコンテナ化ツールでコンテナ化されたアプリケーションのセキュリティおよび共有の要件を管理できます。遷移中のデータ、およびモバイル・デバイス上でコンテナ化されたアプリケーション内にローカルに格納されているデータが暗号化されます。暗号化されたデータの格納には、ファイル、データベース、アプリケーション・キャッシュおよびユーザー・プリファレンスなどのアプリケーション・データが含まれます。
OMSSデータ漏洩保護および暗号化を適用すると、ユーザーがアプリケーションをダウンロード・サイトから利用可能な状態にすることができます。
注意: OMSSでコンテナ化されるiOS MAFアプリケーションは、内部ダウンロード・サイトまたはエンタープライズ・アプリケーション・ストア経由でしかユーザーに配信できません。コンテナ化されたiOS MAFアプリケーションは、Apple App Storeにアップロードできません。この制限は、OMSSでコンテナ化されたAndroid MAFアプリケーションには適用されません。これらのアプリケーションは、内部ダウンロード・サイト、エンタープライズ・アプリケーション・ストアまたはGoogle Play経由で配信できます。 |
デバイスおよびワークスペースにプロビジョニングされたMAFアプリケーションを管理するために、システム管理者がOMSSモバイル・アプリケーション・カタログをどのように使用するかの詳細は、『Oracle Mobile Security Suiteの管理』の「デバイスおよびワークスペースの管理」を参照してください。
次のOMSSデータ漏えい保護ポリシーでは、ユーザーがアプリケーション内のデータをどのように共有できるか、およびそのデータを共有できるかどうかを制限します。
電子メールの許可では、アプリケーションから電子メールを送信する機能を制限できます。
インスタント・メッセージの許可では、アプリケーションからインスタント・メッセージを送信する機能を制限できます。
ビデオ・チャットの許可では、FaceTimeなどのサービス経由で情報を共有する機能を制限します。
ソーシャル・メディアの許可では、FacebookやTwitterなどのサービス経由で情報を共有する機能を制限します。
印刷の許可では、ユーザーが印刷する機能を制限します。
ファイル共有の制限では、ユーザーがセキュア・エンタープライズ・ワークスペースの外部のファイルを共有する機能を制限します。
コピー/貼付けの制限では、セキュア・コンテナ、コンテナ化されたアプリケーション内、またはコンテナ化されたアプリケーション間のコピー/貼付けを許可しますが、セキュア・エンタープライズ・ワークスペースの外部のアプリケーションに対しては許可しません。
コンテナへのリダイレクトの許可では、Mobile Security Containerワークスペースの外部のアプリケーションがURLをコンテナにリダイレクトできないようにします。
メディア・ギャラリへの保存の許可では、イメージ、ビデオおよびオーディオ・ファイルがメディア・ギャラリおよびフォト・ストアに保存されないようにします。
ローカルの連絡先への保存の許可では、セキュア・エンタープライズ・ワークスペース・アプリケーション内部の連絡先がネイティブ・デバイスの連絡先アプリケーションに保存されないようにします。
コンテナからリダイレクトの許可では、Mobile Security ContainerワークスペースからのvAppまたはコンテナ化されたアプリケーションが、Mobile Security Containerワークスペースまたはコンテナ化されたアプリケーションの外部にURLをリダイレクトできないようにします。