iOS アプリケーションの作成

FireMonkey アプリケーション ガイド への移動

iOS モバイル アプリケーション開発 への移動


iOS アプリケーションを作成するには:

[ファイル|新規作成|FireMonkey モバイル アプリケーション - Delphi]

XE5 リリースでは、Delphi だけが FireMonkey iOS アプリケーションをサポートしています。

iOS フォーム

FireMonkey モバイル フォームを使用して、Windows アプリケーションや Mac OS X アプリケーションの場合と同じようにして、追加の Delphi フォームを作成することができます。

iOS フォームには、ハードウェア依存の特有のプロパティがあります。たとえば次のように、iOS フォームの形やサイズが標準の FireMonkey デスクトップ フォームとは異なります。

  • FireMonkey iOS アプリケーションの場合、フォームは縦長の形です。
    • ClientHeight = 480 ピクセル
    • ClientWidth = 320 ピクセル
  • FireMonkey デスクトップ アプリケーションの場合、フォームは横長の形です。
    • ClientHeight = 480 ピクセル
    • ClientWidth = 600 ピクセル

FireMonkey iOS のワークフロー

FireMonkey iOS 開発プロセスの段階によって、開発用プラットフォームと Mac のどちらかで作業を行う必要があります。必要なセットアップ手順と RAD Studio IDE でのプロジェクトのコンパイルが完了したら、プロジェクトを実行するときに、実行可能ファイルと必要なライブラリが Mac に転送されます。

重要:開始前の作業

  • 初めての iOS プロジェクトに取りかかる前に、Windows と Mac の両方で、重要なインストールおよびセットアップの手順をいくつか実施しなければなりません。たとえば、Mac でのアプリケーションのテストに使用する具体的な開発用 iOS デバイスに対して、開発用プロビジョニング プロファイルが必要になります。

その後、一般的には以下の順序でプロジェクトを開発します。

RAD Studio での手順

  1. 次の FireMonkey iOS ウィザードを使ってプロジェクトを開始します。
    [ファイル|新規作成|その他...|Delphi プロジェクト|FireMonkey モバイル アプリケーション
  2. [タブ][空のアプリケーション]など、表示されるテンプレートおよびアプリケーションの中から 1 つを選択します。
  3. iOS フォームがフォーム デザイナに表示されます。
    RAD Studio のフォーム デザイナコード エディタを使って、フォームにコントロールを追加し、プロパティやイベントの値を設定し、それに必要なコードを記述します。
ヒント: iOS アプリケーションを作成するには、まず「モバイル チュートリアル:Delphi モバイル アプリケーション開発(iOS および Android)」に目を通してください。

Mac 上および iOS シミュレータまたは接続された iOS デバイスでの手順

  1. プロトタイプを作成することが目的であれば、iOS シミュレータ ターゲット プラットフォームを使ってプロジェクトを実行し、デバッグします。
    • ヒント:プロジェクトを作成した後に少なくとも 1 度(およびプロジェクトを変更したり新しいファイルを追加するたびに)、アプリケーションを iOS シミュレータ上で実行します。
  2. アプリケーションを実行するデバイスを選択します。たとえば次のようなものです。
    • 初期のデバッグには組み込みの iOS シミュレータ
    • Mac に接続された物理 iOS デバイス

iOS デバイス上で iOS アプリケーションを実行するには:

  • iOS デバイスを USB ケーブルで Mac と接続しておく必要があります。
  • [SDK マネージャ]ページから新しい SDK を追加する必要があります。新しい SDK を追加した後で、選択したバージョンの iOS SDK が Mac から開発用システムに取り込まれます。
  • 開発用 iOS デバイスでアプリケーションをテストするための開発用プロビジョニング プロファイルを作成しなければなりません。
    プロビジョニング プロファイルは、開発者の Apple デベロッパ ID を以下と関連付けるためのものです。
    • 実行する具体的な iOS アプリケーション(App ID で特定)
    • アプリケーションをそこで実行する具体的な iOS デバイス(デバイス ID つまり UDID で特定)
      40 文字の UDID は Xcode または iTunes で確認できます。詳細は https://developer.apple.com/ios/manage/devices/howto.action を参照してください。

Mac での iOS アプリケーション開発ワークフローの詳細は、http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/00-About_the_iOS_Application_Development_Workflow/introduction.html を参照してください。

iOS アプリケーションとデスクトップ アプリケーションの推奨コンポーネントの比較

iOS プラットフォームでは、ネイティブのスタイルおよび体裁はデスクトップ アプリケーションのスタイルおよび体裁とは異なります。つまり、iOS アプリケーションは、コンポーネントの体裁と配置に関する iOS 固有のルールに従わなければなりません。

たとえば、デスクトップ アプリケーションで一般に使用される FireMonkey コンポーネントと iOS アプリケーションに推奨される FireMonkey コンポーネントを比較した一覧表を以下に示します。

主要コンポーネントの違い:

デスクトップ コンポーネント iOS コンポーネント

TTreeView

TListView
TListBox

TRadioGroup
TRadioButton

TSegmentedControl
ListBox

TCheckBox

TSwitch

TMenuBar
TMainMenu

ボタンの付いた TToolBar
TTabControl


iOS アプリケーションに推奨される FireMonkey コンポーネント:

TButton TEdit TCalendarEdit TListView
TTrackBar TTabControl TSpeeButton TMemo
TSwitch TComboBox TToolBar TScrollBox
TLabel TNumberBox TListBox TProgressBar
TPanel

(体裁とスタイルの具体的な推奨事項など)詳細については、EDN の記事『iOS User Interface Design with Delphi XE4(Delphi XE4 での iOS ユーザー インターフェイス設計)』を参照してください。

たとえば、この EDN 記事には、TListBox、TListView、TToolBar、TSpeedButton などの一般的なコンポーネントを iOS アプリケーションで使用するためのヒントに加え、iOS プラットフォームで設定アプリケーションを作成する方法を示す詳細なデモも含まれています。

ListBoxRules.png
TListBox のルール

ListViewRules.png
TListView のルール

SettingsDemo.png
Settings デモ(設定アプリケーション)


FireMonkey iOS アプリケーションのコンポーネントに関する制限事項

RAD Studio で iOS アプリケーションを設計しているときには、iOS デバイスでサポートされているコンポーネントしか使用してはなりません。ただし、[ツール パレット]には Windows 専用のコンポーネントや iOS でサポートされていないコンポーネントが含まれている可能性があるので注意してください。

iOS ターゲット プラットフォーム上で国際(Unicode)文字は使用できない

国際(Unicode)文字は、iOS アプリケーションのいくつかの箇所では使用できません。たとえば、hélèneéléments などの名前が含まれていると、iOS アプリケーションが動作しません。

具体的には、以下の箇所で国際文字を使用しないでください。

  • Windows ユーザー名
  • 接続プロファイル名
  • iOS プロジェクト名
  • アプリケーション バンドル(.app 実行可能ファイル)の名前

Unicode 文字が含まれた iOS アプリケーションをビルドしようとすると、以下のメッセージが表示されます。

  Can't get full path to application bundle. No such file or directory

この場合、iOS アプリケーションは PAServerスクラッチ ディレクトリに生成はされますが、iOS デバイスでも iOS シミュレータでも動作しません。

iOS アプリケーションでのフレームワークの使用

Delphi RTL

基本機能を備えた一部の RTL ユニット(System.pas や System.SysUtils.pas など)は Windows、Mac、iOS で共通です。

多くの RTL ユニットは iOS 専用です(「iOS Objective-C フレームワーク」を参照)。これらのユニットは先頭に iOSapi が付いたユニット スコープです。

FireMonkey

FireMonkey フレームワークiOS ターゲット プラットフォームで使用するには理想的であり、Mac OS X、Win32、Win64 でもサポートされています。「FireMonkey プラットフォームに必要な準備」を参照してください。

VCL(iOS または Mac では使用不可)

VCL は Windows(32 ビット版および 64 ビット版)でしか使用できません。

iOS Objective-C フレームワーク(iOSapi)

RTL には、Objective-C で書かれた iOS フレームワークの Delphi インターフェイスを提供するいくつかのユニットが含まれています。これらのユニット スコープは iOSapi で、通常は製品インストール ディレクトリの /source/rtl ディレクトリに含まれています。

  • iOSapi.AssetsLibrary
  • iOSapi.AVFoundation
  • iOSapi.CocoaTypes
  • iOSapi.CoreAudio
  • iOSapi.CoreData
  • iOSapi.CoreGraphics
  • iOSapi.CoreImage
  • iOSapi.CoreLocation
  • iOSapi.CoreMedia
  • iOSapi.CoreMotion
  • iOSapi.CoreTelephony
  • iOSapi.CoreText
  • iOSapi.CoreVideo
  • iOSapi.Foundation
  • iOSapi.GLKit
  • iOSapi.MediaPlayer
  • iOSapi.OpenGLES
  • iOSapi.QuartzCore
  • iOSapi.UIKit

FireMonkey フレームワークはこれらのユニットの一部により実現されます。

iOS ライブラリのドキュメント

これらの API のヘルプについては、Apple 社のドキュメント「iOS 開発者ライブラリ」を参照してください。RAD Studio には、Mac で使用するのに必要なライブラリに関するヘルプは用意されていません。

iOS 開発者として iOS Dev Center に登録することもできます(無料)。iOS デベロッパ プログラムの登録メンバになると、App Store でアプリケーションを配布できます(それには、開発者証明書やプロビジョニング プロファイルといったその他の要件も伴います)。詳細は、http://developer.apple.com/programs/ios/gettingstarted/ を参照してください。

関連項目