XcodeのインストールとPAServerのインストール [Delphi/C++Builder iOS/MacOSアプリを開発するための前準備]

#XcodeのインストールとPAServerのインストール (Delphi/C++Builder iOS/MacOSアプリを開発するための前準備)

当記事は [「【超入門】iOSアプリ開発をDelphi/C++Builderで始めるためのファーストステップ」](http://qiita.com/kazaiso/items/10562f1d103c12d415af)としてまとめられている記事の一部です。

##手順概略と、その手順が必要な理由
クロスプラットフォーム開発環境である Delphi / C++Builder / RAD Studio （以降ひとまとめにRAD Studioと呼びます）を使用して、iOSアプリとmacOSアプリを開発することができます。しかし iOSアプリ開発には Appleの Xcodeが必須。開発環境ののXcodeをインストールを使用してなくてははなりません。かつXcodeはmacOS上で動作しますから、macOS機いわゆるMacも必要です。
一方、RAD StudioはWindows上で動作します。なので、Windows上でiOSアプリやmacOSアプリを開発することとなります。
macOS上のXcodeが必須なのに、Windows上のRAD Studioで開発する…。この二つの異なる環境を繋いでやらなくてはなりません。
そこで、masOS機に「PA Server」なるものをインストールして、RAD Studioは、これを橋渡し役として、macOS機＋Xcodeから、iOSアプリ開発に必要なiOS SDKの取得、アプリ署名に必要な情報の取得をおこないます。
さらには、RAD Studioで作成した macOS機への開発アプリの送信とiOSデバイスへの配置もPA Serverを橋渡しとして行います。
ということでこの記事で必要な作業は以下のようになります。

* macOS機へのXcodeのインストール
* macOS機へのPA Serverのインストール
* Windows機でのRAD Studio接続設定
* RAD StudioへiOS SDKの読み込み

※アプリ署名のお話はまた別記事にて。

ではステップバイスステップでご紹介していきます。

##使用環境
ここで手順ご紹介に使用しているOS,ソフトウエアなどのバージョンなどを記載します。

|環境 | バージョン | 
|---|---|
|Windows| 10 バージョン 1607 ビルド 14393.969|
|RAD Studio / Delphi / C++Builder |  10.2 Tokyo | 
|macOS | Sierra バージョン 10.12.4 |
| iOS | 10.3.1 |
|Parallels 11 for Mac| 11.2.2|
|Xcode | 8.3.1 *注１ |
*1 : 2017年4月現在、Xcodeは8.2の使用を推奨（8.3はRAD Studioとの相性問題あり）


##macOS機へのXcodeのインストール
まずは、macOS上にiOS/macOSにApple社提供の標準開発ツールのXcodeをインストールしましょう。このXcodeのインストールによって、iOSシュミレーターや、必要なiOS SDKがmacOS上にインストールされます。

1. macOS機でApp Store アプリを起動します
1. AppStoreの検索エディットボックスに 「Xcode」と入力してXcodeを探し出します。
1. 開発ツールのXcodeが見つかったら、「インストール」をクリックします。下の図で上段一列目、左端に表示されているのがXcodeです。
![スクリーンショット 2017-03-31 16.26.06.png](https://qiita-image-store.s3.amazonaws.com/0/145847/3aedf6ad-e1a9-460c-7814-b3bba05779dc.png)

2. AppleIDのアカウントとパスワードの入力を求められるので、それを入力。（AppleIDをお持ちでなければ、作っておきましょう）
1. Xcodeのダウンロードがはじまります。Launchpadを開いてみると、Xcodeのダウンロード状況が表示されているはずです。大きなファイルで、それなりの時間を要しますのでしばらく待ちましょう。ダウンロードが完了すると、自動的にインストールが始まります。
2. 自動的にインストールも完了します。下の図のLaunchpadのキャプチャ画像で、四列目、左から2番目にXCodeがインストールされ、アイコンが表示されていることが、見て取れます。
![スクリーンショット 2017-03-31 15.16.09.png](https://qiita-image-store.s3.amazonaws.com/0/145847/e2f49e4d-ff68-a157-ec5f-9cfd9251c171.png)
1. 上記のアイコン![image](https://qiita-image-store.s3.amazonaws.com/0/145847/3d87eb69-b906-e124-1078-5729dd2a02f8.png)をクリックしてXcodeを起動します。
2. Xcode and SDK License Agreement同意書が表示されるので [Agree]をクリックします。パスワードを求められたら、macOSのアカウントのパスワードを入力します。
3. SDKなどがインストールされたのち、Xcodeの初期画面のWelcome バナーが表示されます。
![スクリーンショット 2017-04-03 9.11.19.png](https://qiita-image-store.s3.amazonaws.com/0/145847/7da52cfa-b5a5-5143-f9cb-22535ba8c10d.png)
1. ここまでくればXcodeの一連のインストールは終了です。Welcome バナーの左上の[x]をクリックして閉じておいて構いません。



##macOS機へのPA Serverのインストール
PA Server (プラットフォーム アシスタント サーバー）をmacOSにインストールして、そのPA Serverに、RAD Serverを接続していきましょう。接続してアプリを送り込んだりするのに使います。 ここでは、そのPA Serverをインストールする手順を記載します。

1. RAD StudioがインストールされているWindows機の下記のパス・フォルダを開きます
    * C:\Program Files (x86)\Embarcadero\Studio\[RAD Studioバージョン番号]\PAServer
    * 10.2 Tokyoであれば 「C:\Program Files (x86)\Embarcadero\Studio\19.0\PAServer」となっているはず
    ![image](https://qiita-image-store.s3.amazonaws.com/0/145847/5b950eeb-5f5a-f56f-4ddf-7e5e7a5e1fea.png)

1. 「PAServer[バージョン番号].pkg」をコピーしてmacOS環境に持っていきます。RAD Studuio 10.1 Tokyoであれば「PAServer19.0.pkg」というファイルです。これをUSBメモリなり、ネットワークなり、クラウドドライブなどを使ってmacOS環境にもっていってください。
1. macOS上で 「PAServer19.0.pkg」をダブルクリックして実行します
2. 「PAServer19.0のインストール」ダイアログが表示されます。ダイアログに従いインストールを行ってください
![スクリーンショット 2017-03-31 16.20.07.png](https://qiita-image-store.s3.amazonaws.com/0/145847/c8eb56c5-1553-0b5c-e95c-4e213d00e37a.png)

1. インストールが完了後、Launchpad内には「PAServer-19.0」と「PAServerManager」の二つが新たに追加されていますので、この「PAServer-19.0」をダブルクリックして起動します。

1. paserverコマンドラインツールが起動されます。Enterキーを入力してください。パスワードを求められた場合には、このmacOSのアカウントのパスワードを入力して[制御を取得]ボタンをクリックしてください。
![スクリーンショット 2017-03-31 16.21.27.png](https://qiita-image-store.s3.amazonaws.com/0/145847/cacd5e68-91d1-191b-48a4-b188583ff463.png)

1.  paserverコマンドラインツールに英字小文字の i を入力してEnterキーを押してください。このmacOSのIPアドレスが表示されますので、これをメモして控えておきます。
2.  念のため、paserverコマンドラインツールに英字小文字の p を入力してEnterキーを押してください。このPA Serverの私用ポートが表示されますので、これをメモして控えておきます。

以上で、PA Serverのインストール（と接続のためのIP情報取得）は終了です。

##Windows機でのRAD Studio接続設定
RAD StudioがインストールされているWindows機と、先ほどXcodeをインストールしたmacOSを同一ネットワーク上に繋いでおいてください。
macOS機上にインストールされているPA Serverと RAD Studioを接続します。


1.  RAD SutuioがインストールされているWindows機に移ります… RAD Studioを起動し上部ツールバーの[ツール] - [オプション] を選択して オプションウインドウを開きます。
1. 「オプションウインドウ」左側の[接続プロファイルマネージャー]をクリックして選択します。
![image](https://qiita-image-store.s3.amazonaws.com/0/145847/17b7907a-fd31-e263-4cbc-ea80222c505b.png)

1. [追加(A)...]をクリックして接続プロファイルの作成ダイアログを開きます。「プロファイル名」には先ほどのmacOSにインストールして起動しているPAServerと接続するプロファイルであることを理解しやすいような任意の名称をつけておきます。(例:xxのMac-iOSアプリ用)。[プラットフォーム(A):]はmacOS上のPAServerに接続するので「OS X」に設定して[次へ(N)>>]をクリックします
![image](https://qiita-image-store.s3.amazonaws.com/0/145847/c34ea006-722d-3829-4c3f-60fabd3c49d2.png)

1. [リモートマシン(IPアドレスまたはマシン名)(R):]に先ほどのPAServerで[i]コマンドを使って表示させたIPアドレスを入力します。（ネットワーク上のマシン名でもOK)
2. ポート名はデフォルトでもOK。macOS側のPASeverが使用しているデフォルトポートと合わせてください
3. パスワードは必要であれば設定してください。なければブランクで。
4. [接続テスト]ボタンをクリックします。接続テストが成功しなければ、IPアドレスがあっているか、ネットワーク上で到達できているか（Pingが通るかなど）確認して調整してください。
5. 接続テストが成功したら[終了]ボタンをクリックします。
6. オプションダイアログのプロファイル欄に、新しい接続プロファイルが追加されているはずです。そのまま[OK]ボタンをクリックしてオプションウインドウを閉じます。

これでRAD Studioでの接続設定は終了です。

##RAD StudioへiOS SDKの読み込み
RAD StudioでiOSアプリをビルドするため、XcodeがインストールするiOS SDKをPA Serverを通じ、RAD Studioで吸い上げて利用します。
SDKとは「ソフトウエア デベロップメント キット」の略で iOS向けのSDKは、iOSアプリを開発するための一連のファイル群が含まれているものです。ちなみに XCodeのバージョンで含まれているiOS SDKのバージョンが異なり、iOS SDKのバージョンが異なると、そのSDKで作ったアプリがどの iOSバージョンで動作するのかのサポート状況が変わってきます。

以下、iOS SDKをRAD Studioに読みこませる手順です。
今回の手順では、アプリ作成とデバッグを行うことを前提に、シュミレーター、iOS 64bit、macOS(OS X)の3つのプラットフォーム向けのSDKを読み込ませて、ビルドできるようにしておきます。

※RAD StudioでSDKを読み込む時、macOS側のPA Serverと通信を必要とします。読み込み手順でうまくいかない場合にはPA ServerのインストールされているmacOSが起動していてPA Serverが動作しているか、RAD Studioの[ツール] - [オプション] - [接続プロファイル マネージャ] にある「接続テスト」が動作するかなど、確認してください。

それでは、SDKを読み込みます。デバッグなどを考えるて、下記3種類ぐらいはSDKを読み込んでおくのがよいかと思います。

* まずはmacOS上への配置ができるか確認のためmacOS向けSDK
* 実機で毎度動かさなくても良いように iOS シミュレータ用SDK
* 実機で動かすため、ターゲットとなるiOS 64bit用SDK 

では手順です。

1. RAD Studioを起動し[ツール] - [オプション] を選択して オプションウインドウを開きます。
1. 「オプションウインドウ」左側の[SDK マネージャ]をクリックして選択します。
1. [追加(A)...]ボタンをクリックして、「新規SDKの追加」ダイアログを開きます
![image](https://qiita-image-store.s3.amazonaws.com/0/145847/be387034-d4ba-5b9c-c197-99c5bc094ad9.png)

2. プラットフォームはターゲットとなるiOSデバイスを選択します。[プラットフォーム選択(S)]コンボボックスををクリックして、まずは「OS X」を選択します。
3. macOS側のPA Serverと通信できていれば、自動的に、[SDKバージョンの選択(S)]コンボボックスに、macOSにインストールされているmacOS向けアプリ開発用のSDKバージョンが表示れます。このまま[OK]をクリックします。
![image](https://qiita-image-store.s3.amazonaws.com/0/145847/ce6a03ee-58e7-3b2b-ac41-be876470457d.png)
1. 「ローカルファイルキャッシュの更新」ダイアログが現れ、SDKの読み込み進捗状況が表示されます。
2. 読み込みが完了すると「操作が完了しました」のメッセージが表示されますので、[閉じる]をクリックします。これで、まずはmacOS向けのSDK読み込みは完了です。
3. 次に、再び[追加(A)...]ボタンをクリックして、「新規SDKの追加」ダイアログを開きます。
4. [プラットフォーム選択(S)]コンボボックスををクリックして、「iOS シミュレータ」を選択します。
5. 自動的に、[SDKバージョンの選択(S)]コンボボックスに、macOSにインストールされているiPhoneSimulatorのSDKバージョンが表示れます。このまま[OK]をクリックします。
6. 「ローカルファイルキャッシュの更新」ダイアログが現れ、SDKの読み込み進捗状況が表示されます。
1. 読み込みが完了すると「操作が完了しました」のメッセージが表示されますので、[閉じる]をクリックします。これでiPhoneSimulatorのSDK読み込みは完了です。
2. さらに、再び[追加(A)...]ボタンをクリックして、「新規SDKの追加」ダイアログを開きます。
4. [プラットフォーム選択(S)]コンボボックスををクリックして、「iOS デバイス - 64ビット」を選択します。（iOS 32ビットアプリの開発が必要であれば、32ビットを選択してください）
5. 自動的に、[SDKバージョンの選択(S)]コンボボックスに、macOSにインストールされているiPhoneOS のSDKバージョンが表示れます。このまま[OK]をクリックします。
6. 「ローカルファイルキャッシュの更新」ダイアログが現れ、SDKの読み込み進捗状況が表示されます。
1. 読み込みが完了すると「操作が完了しました」のメッセージが表示されますので、[閉じる]をクリックします。これでiOS向けSDKの読み込みは完了です。
1. オプションダイアログの[OK]をクリックして閉じます。
![image](https://qiita-image-store.s3.amazonaws.com/0/145847/7db56be0-f615-b342-b728-d9716c10dd6c.png)

以上で、SDKの読み込みは終了です。
これで、アプリ開発の準備は整いました。

[次の記事](http://qiita.com/kazaiso/items/b95322d995c73929b819)では実際に、[iOSアプリの「Hello World」](http://qiita.com/kazaiso/items/b95322d995c73929b819)をやってみましょう