Windows環境だけでiOS向けアプリをUnityで作る – iOSビルドの準備

先日開催された Unite 2014 Seattle で Unity Cloud Build というサービスが発表されました。

クラウド上でプロジェクトのビルドを行い、結果を通知してくれる CI(継続的インテグレーション)と呼ばれるものです

これを用いれば WebPlayer, Android, iOS 向けのビルドをプロジェクトが
置いてあるサーバーをポーリングして、更新があったらビルドしてくます。
Unity Cloud Build で iOS のビルドを行えるので、
もしかしたら開発は Windows でやってビルドは Unity Cloud Build に任せれば、
iOS向けアプリの開発を Windows で行えるのでは!?と思い試してみました。

iOS Developer Program の登録

iOS の実機開発には iOS Developer Program への登録が必要になります。年間7,800円です(安くなってる!)
下記 URL より iOS Developer Program の登録を行います。

iOS Developer Program – Apple Developer

登録までの解説記事は下記のものがわかりやすかったです

有料のiOS Developer Programに登録してみた – MAECAHN BLOG

登録の際、アカウント情報に日本語が含まれているとアクティベーションがうまくいかないようです。
その場合はサポートに連絡し、登録情報の修正してもらえばOKです
(3年前ぐらいに登録した時はサポートに電話をし、即対応してもらえました。)

証明書要求ファイルの作成

Windows 環境で証明書要求ファイルを作成するには OpenSSL のインストールが必要です。

OpenSSL: OpenSSL Binary Distributions

環境に合わせてインストーラーをダウンロードします。
インストール後は bin ディレクトリに環境変数のPATHを通しておきます。

OpenSSL のインストールが完了したら、まず下記のコマンドで秘密鍵を生成します

openssl genrsa -out iosdev.key 2048

カレントディレクトリに iosdev.keyができていたらOK

生成した秘密鍵を用いて CSR ファイルを生成します。

openssl req -new -key iosdev.key -out CertificateSigningRequest.certSigningRequest -subj "/emailAddress=mooooogle@sayaka.kichi, CN=Sayaka Miki, C=JP"

emailAddress にメールアドレス、CN に証明書名、C に国名を入れます。
上記コマンドより適宜変更してください。
カレントディレクトリに CertificateSigningRequest.certSigningRequest が生成されていれば成功です。

証明書の取得

ブラウザでの作業です。

Member Center にアクセスし
Member Center -> Certificates, Identifiers & Profiles -> iOS Apps -> Certificates
のページの右上の + ボタンをクリックします。

ios_dev_01

ここで必要な証明書のタイプを指定します。
iOS 開発時には「Development -> iOS App Development」を選択するのですが、
Unity Cloud Build のビルドはクラウド上でしてくれるので、アプリを配布するための「Production -> App Store adn Ad Hoc」を選択し、「Continue」

次のページは証明書要求ファイルの作成方法が記述されています。
こちらは先ほど作成したファイルがありますので、そのまま「Continue」

ios_dev_02

次のページで証明書要求ファイルのアップロードを行います。
先ほど作成した「CertificateSigningRequest.certSigningRequest」を選択し、「Generate」します

ios_dev_03

無事に生成ができました。 Download より証明書のダウンロードを行います。
ここでは「ios_distribution.cer」という名前で保存しておきます。

p12ファイルへの変換

OpenSSL のコマンドを用いてダウンロードした証明書を p12 ファイルへと変換します。

まず下記コマンドで cer ファイルを pem ファイルへと変換します

openssl x509 -in ios_distribution.cer -inform DER -out ios_distribution.pem -outform PEM

ios_distribution.cer が先ほどMember Centerよりダウンロードしてきた証明書です。

ios_distribution.pem が出力されたら、

openssl pkcs12 -export -inkey iosdev.key -in ios_distribution.pem -out ios_distribution.p12

で p12 ファイルを出力します。
iosdev.key は証明書要求ファイルを生成するときに用いたものです。
コマンド実行時にパスワードを設定します。
確認のため2回聞かれるので、同じパスワードを入力してください。
カレントディレクトリに ios_distribution.p12 が生成されていたら完了です。

mobileprovision ファイルの生成

ブラウザでの作業です。

まず App ID の登録をします。
Member Center にアクセスし
Member Center -> Certificates, Identifiers & Profiles -> iOS Apps -> Identifiers -> App IDs
のページの右上の + ボタンをクリックします。

ios_dev_04

ios_dev_05

登録情報の入力をします。
App ID Description には他の App ID と識別するための名前を入力します。
App ID Suffix には App Store で配布する際に他の人と被らないような名前を指定します。
jp.domainname.appname の形式で入力します。
Wildcard App ID を指定することでappnamne部分に * を入力し、複数のアプリに共通のApp ID を使えるようになります
入力を終えたら Continue -> Submit で登録完了です。

次に Device の登録をします。
デバイス登録の際にはそのデバイスの UDID が必要になります。
UDID は Windows の場合は iTunes で確認できます。

ios_dev_06

iTunes を起動しデバイスと接続後、iTunesのデバイス欄より該当のデバイスを選択します。
デバイスの概要を見ると「シリアル番号」欄があるのでここをクリックします
すると表示が「UDID」に切り替わるので右クリしてコピーしておきます(すごく・・わかりにくいです・・)

UDID がわかったら Member Center にアクセスし
Member Center -> Certificates, Identifiers & Profiles -> iOS Apps -> Devices
のページの右上の + ボタンをクリックします。
Register Device の 「Name」にデバイスを識別しやすい名前を入力し、
「UDID」に先ほど調べたUDIDを入力します
入力を終えたら Continue -> Register で登録完了です。
(この時ローディング表示のまま画面が切り替わりませんでしたが、Devices欄をみたら登録できてました)
複数のデバイスで動作させたい場合は同様に登録作業をおこないます。

App ID, Device の登録が済んだら Provisioning Profileの登録をします。
Member Center にアクセスし
Member Center -> Certificates, Identifiers & Profiles -> iOS Apps -> Provisioning Profiles
のページの右上の + ボタンをクリックします。

ios_dev_07

必要なプロファイルの種類を選択します。
ここでは、配布用のプロファイルを作成するので
Distribution -> Ad Hoc を選択し「Continue」
「Select App ID.」
で先ほど作成した App ID を選択し「Continue」
「Select certificates.」
で作成した証明書を選択し、「Continue」
「Select devices.」
でアプリケーションを動作させたいデバイスを選択します。
ここで選択したデバイス以外では動作させることはできません
「Name this profile and generate.」
でプロファイル名を決めて「Generate」

ios_dev_08

登録が完了したら、Downloadより mobileprovision ファイルのダウンロードを行います。

ここまでで、 Unity Cloud Build で iOS ビルドするに必要なファイルは揃いました!お疲れ様です!

次の記事で Unity Cloud Buildで 実際に iOS ビルドを行ってみます


コメントを残す

メールアドレスが公開されることはありません。