ヘッダーをスキップ
Oracle® Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発
リリース2.0
E56275-01
  目次へ移動
目次

前
 
次
 

22 MAFアプリケーションのテストおよびデバッグ

この章では、iOSとAndroidの両方のプラットフォーム用に開発されたMAFアプリケーションのテストとデバッグを行う方法について説明します。

この章には次の項が含まれます:

22.1 MAFアプリケーションのテストおよびデバッグの概要

MAFアプリケーションのテストとデバッグを開始する前に、そのアプリケーションを次のいずれかにデプロイする必要があります。

MAFアプリケーションは、デプロイしないと実行できません。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。

MAFアプリケーションのテストとデバッグを行うには、通常、次の手順を実行します。

  1. スプラッシュ画面、アプリケーション機能のナビゲーション、認証、プリファレンスなど、アプリケーションのインフラストラクチャをテストして、うたわれているすべてのアプリケーション機能が使用可能であることを確認します。

  2. アプリケーションにMAF AMXコンテンツが含まれている場合は、このアプリケーション機能のロジック、ページ・フロー、データ・コントロールおよびUIコンポーネントをテストします。

  3. 必要に応じてアプリケーションに変更を加えます。

  4. モバイル・デバイスを再接続するか、シミュレータを再起動し、さらなるテストおよびデバッグのためにアプリケーションをデプロイして実行します。

詳細は、次を参照してください。

22.2 MAFアプリケーションのテスト

MAFアプリケーションをテストするには、次の2つの方法があります。

  1. モバイル・デバイス上でのテスト: この方法では常に、最も正確な動作が提供されます。アプリケーションのパフォーマンスを測定する場合も、この方法をとる必要があります。ただし、テスト実行者がテスト対象のすべてのデバイスを入手できるとはかぎらないため、デバイスのテストは確実なものとは言えません。

  2. モバイル・デバイス・エミュレータまたはシミュレータ上でのテスト: この方法は通常、よりよいパフォーマンスとより高速なデプロイを提供し、便利です。ただし、デバイスのエミュレータまたはシミュレータは、対応する物理デバイスに近似したものであるとは言え、動作の相違やエミュレートできる機能の制限が存在する場合があります。

通常、両方の方法を組み合せて使用することで、最良の結果が得られます。

22.2.1 iOSデバイス上でアクセシビリティのテストを実行する方法

iOSデバイス用に開発されたMAFアプリケーションのアクセシビリティをテストするには、次の方法を組み合せて使用してください。

  • iOSデバイス・シミュレータ上でアクセシビリティ・インスペクタを使用してテストする。

    詳細は、iOS Developer Libraryにある『Accessibility Programming Guide for iOS』「Testing the Accessibility of Your iPhone Application」を参照してください。

  • iOSデバイス上でVoiceOverを使用してテストする。

    詳細は、iOS Developer Libraryにある『Accessibility Programming Guide for iOS』「Using VoiceOver to Test Your Application」を参照してください。

22.3 MAFアプリケーションのデバッグ

Oracle Enterprise Pack for Eclipseには、Javaプログラムをデバッグ・モードで実行し、標準のブレークポイントを使用してアプリケーションの実行をモニターおよび制御することを可能にするデバッグ・メカニズムが備わっています。

一般にアプリケーションをデバッグするのに、Javaリモート・デバッグとJavaScriptリモート・デバッグという2つの異なる方法があります。Javaリモート・デバッグのみが完全にサポートされています。

MAFアプリケーションはOracle Enterprise Pack for Eclipse内では実行できないため、デバッグ・アプリケーションは異なり、Oracle Enterprise Pack for Eclipseデバッガを使用して、モバイル・デバイスまたはシミュレータ上のJava仮想マシン(JVM) 1.4インスタンスに接続し、MAFアプリケーションをデプロイしたJava部分を制御します。

MAFは、リモート・デバッグのプロジェクト・プロパティを自動的に構成します(第22.3.1項「デバッグ構成に関する必知事項」を参照)。次は、Oracle Enterprise Pack for Eclipseを使用してMAFアプリケーションのJavaコードをデバッグするために実行する必要のある手順です。

  1. デバッグ構成で、「デバッグ」タブをクリックし、Javaコードのデバッグを選択します。これにより、次のデバッグ・パラメータがcvm.propertiesファイルに設定されます。

    java.debug.enabled=true
    

    詳細は、第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。

  2. アプリケーションをモバイル・デバイスまたはシミュレータに再デプロイします。

  3. アプリケーション・アイコンをクリックして、モバイル・デバイスまたはシミュレータでアプリケーションを起動します。

  4. リモートJavaアプリケーション構成を使用してリモートVMに接続します。

    1. 新しいリモートJavaアプリケーション構成を作成します。「実行」「デバッグ構成」をクリックします。構成ウィンドウで、リモートJavaアプリケーションをダブルクリックします。

    2. 構成に名前を付け、デバッグしているアプリケーションのプロジェクトを参照します。


注意:

タイムアウトを回避するには、モバイル・デバイスまたはシミュレータでアプリケーションを起動したらすぐにデバッガを起動します。

デプロイメントが成功し、デバイス上のアプリケーションがデバッグ・モードで起動した場合、リモート・デバッグが接続されるまでブロックされます。タイムアウトは通常数分です。


デバッグにモバイル・デバイスを使用する場合、次のタスクを実行します。

Androidの場合

  1. ポート転送が確立されていることを確認します。

iOSの場合

  1. 開発コンピュータとモバイル・デバイスがTCPを介して相互に見えていることを確認します(互いにpingを実行できます)。

  2. モバイル・デバイスのIPアドレスを持ったlocalhostを置き換えることで、リモートJavaアプリケーション構成の「ホスト」フィールドを変更します。

詳細は、次を参照してください:

22.3.1 デバッグ構成に関する必知事項

アプリケーションを作成した後で、次のようにして、デプロイメント構成およびリモート・デバッグ構成を作成する必要があります。

  1. Oracle Enterprise Pack for Eclipseのメイン・メニューで、「実行」→「デバッグ構成」をクリックして、起動構成ダイアログを開きます。

  2. 構成タイプのリストで、MAFアプリケーション・ノードをダブルクリックします。

  3. 新しいMAFデバッグ構成に名前を付け、「メイン」タブでアプリケーションのアセンブリ・プロジェクトを選択します。

  4. 図22-1に示すように、「デバッグ」タブでJavaコードのデバッグを選択し、ポートを適切なポート番号に設定します。

    図22-1 デバッグ構成の作成

    この図は周囲のテキストで説明しています
  5. 「適用」をクリックして構成の設定を保存します。

  6. 構成タイプのリストで、リモートJavaアプリケーション・ノードをダブルクリックします。「接続」タブは、図22-2のようになります。

    • デバッグするプロジェクトを参照します。

    • 次のようにホストを設定します。

      • シミュレータまたはエミュレータによるデバッグの場合、localhostに設定します。

      • Androidでのリモート・デバッグの場合、Android Debug Bridge (adb)が動作しているコンピュータのホストIPに設定します(通常はlocalhost)。adbはポート転送が有効になっている必要があり、使用するリモート・デバッグ・ポートは転送先と同じポートです。コマンドadb forward --listを使用して転送先のすべてのポートを表示します。

      • iOSでのリモート・デバッグの場合、開発コンピュータがネットワークを介してそのデバイスにアクセスできることを確認し(ネットワーク・アクセスをテストするには、pingコマンドを使用します)、デバイスのIPアドレスを入力します。

    • 次のようにポートを設定します。

      • シミュレータまたはエミュレータによるデバッグの場合、ポートはデバッグ構成時と同じポート番号に設定します。

      • Androidでのリモート・デバッグの場合、adb (Android Debug Bridge)ではポート転送が有効になっている必要があります。ポートは転送先と同じポートに設定します。コマンドadb forward --listを使用して転送先のすべてのポートを表示します。

      • iOSでのリモート・デバッグの場合、ポートはデバッグ構成時と同じポート番号に設定します。

    図22-2 リモート・デバッグの構成

    この図は周囲のテキストで説明しています

MAFでは、cvm.propertiesファイルに次のデバッグ・パラメータを指定します。

java.debug.port=8000

このポート番号は、Oracle Enterprise Pack for Eclipseで設定されているポート番号と一致します。

22.3.2 iOSプラットフォームでのデバッグ方法

Oracle Enterprise Pack for Eclipseを使用してiOSプラットフォームでMAFアプリケーションをデバッグするには、第22.3項「MAFアプリケーションのデバッグ」で説明されている汎用的なデバッグ手順を実行します。

iOSデバイスまたはシミュレータの構成方法、およびデバッグのためのMAFアプリケーションのデプロイ方法については、次を参照してください。

22.3.3 Androidプラットフォームでのデバッグ方法

Oracle Enterprise Pack for Eclipseを使用してAndroidプラットフォームでMAFアプリケーションをデバッグするには、第22.3項「MAFアプリケーションのデバッグ」で説明されている汎用的なデバッグ手順を実行します。

Androidデバイスまたはエミュレータの構成方法、およびデバッグのためのMAFアプリケーションのデプロイ方法については、第19.2.5.1項「AndroidエミューレータへのAndroidアプリケーションのデプロイ方法」を参照してください。

Androidデバイスまたはそのエミュレータで動作しているMAFアプリケーションのデバッグを可能にするために、デバッグ時にネットワーキングおよびインターネット・アクセスは自動的に有効になります。図22-3に示すように、ネットワーク・デバイス・アクセス・オプションはmaf-application.xmlファイルで有効です。

図22-3 Androidによるデバッグの有効化

この図は周囲のテキストで説明しています

Javaコードをデバッグすると、USBを介して接続されたAndroidデバイスまたはAndroidデバイス・エミュレータで、デプロイメントの最終手順は自動的にポート転送を実行します。これは、ターミナルで次のコマンドを実行した場合と同じです。

  • デバイスでのデバッグの場合:

    adb -d forward tcp:8000 tcp:8000

  • エミュレータでのデバッグの場合:

    adb -e forward tcp:8000 tcp:8000

ときにはadbプロセスはフリーズすることがあるため、プロセスを強制終了して再起動する必要があります。

プロセスを強制終了するには、次の手順を実行します。

  • Windows: プロセス マネージャを使用します

  • Macターミナル: kill -9 procIDコマンドを使用します。

ターミナルで次のコマンドを実行して、adbデーモンを再起動します。

adb devices

adbのフリーズの前に成功したデプロイメントは引き続きデプロイされます。アプリケーションをデバッグするには、アプリケーションを再デプロイします。

起動構成の「デバッグ」タブにあるJavaコードのデバッグは、cvm.propertiesファイルのjava.debug.*プロパティを制御します。Javaコードのデバッグを選択すると、次のものが設定されます。

java.debug.enabled=true

デフォルトのポート番号を変更すると、次のものが設定されます。

java.debug.port=nnnn

詳細は、第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。


注意:

接続がWi-Fiを介して行われる場合は、この接続が正しいことを確認してください。デバッガとターゲットの両方を、仮想プライベート・ネットワーク(VPN)を使用せずに、同じネットワーク上に配置することをお薦めします。


22.3.4 MAF AMXコンテンツのデバッグ方法

MAFアプリケーションにMAF AMXコンテンツが含まれている場合、デバイスまたはエミュレータを構成した後で、Oracle Enterprise Pack for Eclipseでその他のアプリケーションをデバッグするときに行うのと同様、ブレークポイントの設定、変数の内容の表示およびメソッド・コール・スタックの検査ができます。


注意:

デバッグできるのは、JavaコードおよびJavaScriptのみです(第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照)。EL式または他の宣言要素のデバッグはサポートされていません。


22.3.5 JavaコードおよびJavaScriptのデバッグを有効にする方法

cvm.propertiesファイルでは、JVMの起動パラメータおよびMAFのWebビューを指定して、JavaコードおよびJavaScriptのデバッグを有効にできます。cvm.propertiesファイルは自動的に作成され、「アプリケーション・リソース」のDescriptors/META-INFディレクトリ内に配置され(第22.4項「ロギングの使用方法と構成」を参照)、この場所は、アプリケーション・ファイル・システム内の<application_name>/META-INFの場所に対応しています。

cvm.propertiesファイルで次のデバッグ・プロパティを使用できます。

  • java.debug.enabled: MAF用のJavaデバッグを有効または無効にします。有効な値は、truefalseです。


    注意:

    java.debug.enabledtrueに設定されている場合、JVMは、デバッガが接続を確立するのを待ちます。デバッガが接続に失敗すると、MAF AMXアプリケーション機能のロードが失敗します。


  • java.debug.port: デバッグ時に使用するポートを指定します。有効値は整数です。

  • javascript.debug.enabled: アプリケーションがデバイス・シミュレータで実行されている場合、JavaScriptのデバッグを有効または無効にします。有効な値は、truefalseです。

  • javascript.debug.feature: MAFでのJavaScriptデバッグの起動をトリガーするアプリケーション機能を指定します。この値の形式はfeatureId:portです。ポートを指定する必要があります(これは当初、プレースホルダ値に設定されています)。


注意:

javascript.debug.enabledおよびjavascript.debug.featureの設定は、iOSおよびSafariバージョンが6.0以前の場合にのみ有効です。

iOSとSafariの両方のバージョンが6.0以降の場合、これらの2つのプロパティはいずれも指定する必要はありません。かわりに、第22.3.5.1項「iOS 6プラットフォーム上でのiOSデバイス・シミュレータを使用したJavaScriptのデバッグに関する必知事項」の指示に従ってください。


cvm.propertiesファイルの内容は、次のようなものです。

java.debug.enabled=true
java.debug.port=8000

javascript.debug.enabled=true
javascript.debug.feature=products:8888

cvm.propertiesファイルがJavaScriptをデバッグするように構成されたら、次のURLに移動して、MAFでデバッグ可能なすべてのロード済ページのリストを確認できます。

http://localhost:9999

Oracle Enterprise Pack for Eclipseを使用してJavaコードをデバッグする方法の詳細は、第22.3項「MAFアプリケーションのデバッグ」を参照してください。

22.3.5.1 iOS 6プラットフォーム上でのiOSデバイス・シミュレータを使用したJavaScriptのデバッグに関する必知事項

iOS 6プラットフォームで作業している場合、Safari 6ブラウザを使用してJavaScriptをデバッグできます。これを行うには、Safariの設定を開き、「Advanced」を選択した後、「Show Develop menu in menu bar」を選択して、ブラウザ内の「Develop」メニューを有効にします(図22-4を参照)。

図22-4 Safariブラウザ・オプションの有効化

この図は周囲のテキストで説明しています

「Develop」メニューが有効な場合、図22-5および図22-6に示すように、「iPhone Simulator」または「iPad Simulator」を選択し、デバッグするUIWebViewを選択します。「Develop」メニューにiPhone Simulatorオプションが表示されるか、iPad Simulatorオプションが表示されるかは、どちらのデバイス・シミュレータが起動しているかによって決まります。

図22-5 Safariブラウザの「Develop」メニューを使用したiPhone Simulator上でのデバッグ

この図は周囲のテキストで説明しています

図22-6 Safariブラウザの「Develop」メニューを使用したiPad Simulator上でのデバッグ

この図は周囲のテキストで説明しています

22.3.6 デバッグ・モードの構成方法

アプリケーションのデプロイメント・プロファイルを使用して、MAFアプリケーションの実行モードをリリースまたはデバッグのいずれかに指定します。デバッグ・モードでのみ、JavaおよびJavaScriptコードを対話的にデバッグできます。デバッグ・モードでは、コンパイル時に特殊なデバッグ・ライブラリおよびシンボルを含めることが可能です。

図22-7は、AndroidまたはiOSのデバッグ・モード・オプションの設定方法を示しています。

図22-7 デバッグ・モードの設定

この図は周囲のテキストで説明しています

詳細は、次を参照してください。

22.4 ロギングの使用方法と構成

MAFアプリケーションの場合、サポートされるすべてのプラットフォームでロギングを有効にするには、JavaScript (第22.4.2項「JavaScriptのロギングの使用方法」を参照)および埋込みコード(第22.4.3項「埋込みロギングの使用方法」)で、単一ファイルへのログ出力を含む単一構成を使用します。このログ出力には、System.out.printlnおよびSystem.err.println文によって生成された出力が含まれます。

デフォルトのMAFのロギング・プロセスは、次のとおりです。

MAFのロガーは、次のとおりoracle.adfmf.util.Utilityクラスで宣言されます。

public static final String APP_LOGNAME = "oracle.adfmf.application";
public static final Logger ApplicationLogger = Logger.getLogger(APP_LOGNAME);

public static final String FRAMEWORK_LOGNAME = "oracle.adfmf.framework";
public static final Logger FrameworkLogger = Logger.getLogger(FRAMEWORK_LOGNAME);

MAFアプリケーションで使用するロガーは、ApplicationLoggerです。

oracle.adfmf.util.logging.Traceクラスのメソッドを使用することもできます。

詳細は、Oracle Fusion Middleware Oracle Mobile Application FrameworkのJava APIリファレンスを参照してください。

22.4.1 プロパティ・ファイルを使用したロギングの構成方法

例22-1は、ロギングの構成で使用するlogging.propertiesファイルを示しています。

例22-1 logging.propertiesファイル

# default - all loggers to use the ConsoleHandler
.handlers=com.sun.util.logging.ConsoleHandler
# default - all loggers to use the SimpleFormatter
.formatter=com.sun.util.logging.SimpleFormatter

oracle.adfmf.util.logging.ConsoleHandler.formatter=
             oracle.adfmf.util.logging.PatternFormatter
oracle.adfmf.util.logging.PatternFormatter.pattern=
             [%LEVEL%-%LOGGER%-%CLASS%-%METHOD%]%MESSAGE%

#configure the framework logger to only use the adfmf ConsoleHandler
oracle.adfmf.framework.useParentHandlers=false
oracle.adfmf.framework.handlers=oracle.adfmf.util.logging.ConsoleHandler
oracle.adfmf.framework.level=SEVERE

#configure the application logger to only use the adfmf ConsoleHandler
oracle.adfmf.application.useParentHandlers=false
oracle.adfmf.application.handlers=oracle.adfmf.util.logging.ConsoleHandler
oracle.adfmf.application.level=SEVERE

oracle.adfmf.util.logging.ConsoleHandlerは、カスタム・フォーマッタの受信者としての役割を果たします。

oracle.adfmf.util.logging.PatternFormatterでは、ログ・メッセージの出力を可能にする、次の高度なフォーマット・トークンが許可されています。

  • %LEVEL%: ロギング・レベル。

  • %LOGGER%: 出力が書き込まれるロガーの名前。

  • %CLASS%: ログに記録されるクラス。

  • %METHOD%: ログに記録されるメソッド。

  • %TIME%: ロギング・メッセージが送信された時間。

  • %MESSAGE%: 実際のメッセージ。

使用可能なロギング・レベルは、次のとおりです。

  • SEVERE: 重大な障害を示すメッセージ・レベルです。

  • WARNING: 潜在的な問題を示すメッセージ・レベルです。

  • INFO: 情報メッセージのメッセージ・レベルです。

  • FINE: トレース情報を提供するメッセージ・レベルです。

  • FINER: このレベルは、かなり詳細なトレース・メッセージを示します。

  • FINEST: このレベルは、非常に詳細なトレース・メッセージを示します。


注意:

ロギング・レベルの詳細度を選択するときは、SEVEREWARNINGおよびINFOレベルで出力の詳細度を上げると、アプリケーションのパフォーマンスに悪影響を及ぼすことに留意してください。


デバイスでアプリケーションを動作させているときに、Oracle Enterprise Pack for Eclipseには、iOSコンソールと、各デバイス(エミュレータを含む)ごとにAndroid用の追加コンソールという2つのコンソールがあります。両方のタイプのコンソールは、Oracle Enterprise Pack for Eclipseコンソールへの出力をフィルタ処理できる2つの追加logging.propertiesファイル・プロパティを使用して、ロギングおよび標準出力をストリーム化できます。

oepe.console.filter.android=<some string>
oepe.sonsole.filter.ios=<some string>

コンソールのメニュー・バーの選択したコンソールの表示ボタンを使用すると、あるコンソールから別のコンソールへ切り替えることができます。使用可能なコンソールを切り替えるには、この図は周囲のテキストで説明していますをクリックします。あるいは、第22.4.1項「コンソールの選択」に示すように、ボタンの横の下向き矢印をクリックして、リストから選択します。

図22-8 コンソールの選択

この図は周囲のテキストで説明しています

logging.propertiesファイルで定義されているロガーは、oracle.adfmf.util.Utilityクラスから取得されるロガーと一致します(第22.4項「ロギングの使用方法と構成」を参照)。ロギング・レベルも一致します。INFOよりも詳細なロギング・レベルを使用する場合は、ConsoleHandlerのロギング・レベルを、例22-2に示されているものと同じレベルに変更する必要があります。

例22-2 非常に詳細なロギング・レベルの設定

oracle.adfmf.util.logging.ConsoleHandler.formatter=
             oracle.adfmf.util.logging.PatternFormatter
oracle.adfmf.util.logging.ConsoleHandler.level=FINEST
oracle.adfmf.util.logging.PatternFormatter.pattern=
             [%LEVEL%-%LOGGER%-%CLASS%-%METHOD%]%MESSAGE%

22.4.2 JavaScriptのロギングの使用方法

JavaScriptは、console.log or.error/.warn/.infoに出力を書き込みます。この出力は、System.outユーティリティによってファイルにリダイレクトされます。

メッセージを指定することで、ログの出力をカスタマイズできます。次のJavaScriptコードでは、"Message from JavaScript"出力が生成されます。

<script type="text/javascript" charset="utf-8">
   function test_function() { console.log("Message from JavaScript"); }
</script>

ロギング・ファイルに定義されているプロパティを利用するには、adf.mf.logパッケージ、およびそれによって提供されるApplicationロガーを使用する必要があります。

使用可能なロギング・レベルは、次のとおりです。

  • adf.mf.log.level.SEVERE

  • adf.mf.log.level.WARNING

  • adf.mf.log.level.INFO

  • adf.mf.log.level.CONFIG

  • adf.mf.log.level.FINE

  • adf.mf.log.level.FINER

  • adf.mf.log.level.FINEST

ロギングをトリガーするには、adf.mf.log.Applicationロガーのlogpメソッドを使用し、そのメソッドのパラメータで次のものを指定します。

  • ロギング・レベル

  • 文字列としての現在のクラス名

  • 文字列としての現在のメソッド

  • 文字列としてのメッセージ文字列

例22-3は、MAFアプリケーションでのlogpメソッドの使用方法を示しています。

例22-3 ロギング・メソッドの使用方法

adf.mf.log.Application.logp(adf.mf.log.level.WARNING,
                            "myClass",
                            "myMethod",
                            "My Message");

logpメソッドを実行すると、次の出力が生成されます。

[WARNING - oracle.adfmf.application - myClass - myMethod] My Message

22.4.3 埋込みロギングの使用方法

埋込みロギングでは、例22-4に示されているとおり、com.sun.util.logging.Loggerを使用します。EmbeddedClassは、プロジェクトで定義されているJavaクラスを表しています。

例22-4 埋込みロギングの使用方法

import com.sun.util.logging.Level;
import com.sun.util.logging.Logger;
import oracle.adfmf.util.logging.*;
...
   Utility.ApplicationLogger.logp(Level.WARNING, 
                                  EmbeddedClass.class.getName(),
                                  "onTestMessage",
                                  "embedded warning message 1");
   Logger.getLogger(Utility.APP_LOGNAME).logp(Level.WARNING,
                    this.getClass().getName(),
                    "onTestMessage",
                    "embedded warning message 2");
   Logger.getLogger("oracle.adfmf.application").logp(Level.WARNING,
                                                this.getClass().getName(),
                                                "onTestMessage",
                                                "embedded warning message 3");

このコードによって生成される出力は、次のとおりです。

[WARNING - oracle.adfmf.application - EmbeddedClass - onTestMessage] embedded warning message 1
[WARNING - oracle.adfmf.application - EmbeddedClass - onTestMessage] embedded warning message 2
[WARNING - oracle.adfmf.application - EmbeddedClass - onTestMessage] embedded warning message 3

22.4.4 iOSプラットフォームでのデバッグおよびロギングにXcodeを使用する方法

MAFプロジェクトの操作にXcodeを使用することは、Oracle Enterprise Pack for Eclipseを使用した次回のデプロイメント中に一部またはすべての変更を失う可能性があるため推奨されませんが、例外的な状況ではこれを使用できます。

始める前に:

アプリケーションをOracle Enterprise Pack for EclipseからiOSシミュレータにデプロイします。

生成されたプロジェクトを直接Xcodeで開く手順は次のとおりです。

  1. workspace_directory\deploy\デプロイメント・プロファイル名\temporary_xcode_project\に移動します。

  2. Oracle_ADFmc_Container_Template.xcodeprojというXcodeプロジェクトを開きます。

開発コンピュータでMac OS 10.8.nを実行し、Xcodeを使用してMAFアプリケーションをデバッグしている場合、IDE内(Oracle Enterprise Pack for EclipseコンソールまたはXcodeコンソール上)にはJava出力を表示できません。この出力は、ファイルにリダイレクトされます(第22.4項「ロギングの使用方法と構成」を参照)。アプリケーションのスキーマに次の引数を追加すると、この動作を無効にし、iOSデバイスまたはそのシミュレータ上でデバッグを実行するときに、XcodeからJava、JavaScriptおよびObjective-Cのログ出力にリアルタイムでアクセスできるようになります。

-consoleRedirect=FALSE

22.4.5 アプリケーション・ログへのアクセス方法

次のAPIを使用すると、アプリケーション・ログ情報にアクセスできます。

  • oracle.adfmf.framework.api.PerfMon

  • oracle.adfmf.framework.api.LogEntry

  • oracle.adfmf.util.HOTS

詳細は、Oracle Fusion Middleware Oracle Mobile Application FrameworkのJava APIリファレンスを参照してください。