みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

UnityでiOSのappのビルド

UnityではiOS用のappを作成する機能があります。これを利用すれば、Objective-Cなんて勉強しなくてもiOSデバイスで好きなプログラムを簡単に実行することができます。

ライセンス

UnityからiOS機能を購入して、アクティベーションします。ちなみにみーは2012.3頃のiOS,Android機能無料キャンペーンでタダでライセンスを取得しました。通常は34000円(2012.8.3現在)だそうです。

ちなみに2013.10.28現在、無料版でiOSもAndroidも普通にビルドできるようになったので、関係ないですね。

f:id:atsuhiro-me:20151103003611p:plain:w300

 

環境

  • Unity 3.5.4f1
  • Xcode 4.4
  • Mac OS X Lion
  • iPod touch 4G (脱獄済)

方法

Xcodeを使ったことがないのにUnityでiOSアプリを作成すると、Unityに原因があるのかXcodeに原因があるのかが分かりません。はじめはXcodeで簡単なアプリを作成(テンプレートそのままetc.)して、それをiOSデバイスにインストールできることを確認することを強く推奨します。

Unityにて

UnityのEdit > Project Settings > Player

Company NameやProduct Name, Iconを適当に設定します。

Bundle Identiferを設定します。みーの場合はnet.atsuhiro-me.<アプリ名>としています。ここの設定は必須です。

Unity > File > Build SettingsでiOSに設定したあと、Build and Runを実行します。するとXcodeが起動します。

f:id:atsuhiro-me:20151103003614p:plain:w300

f:id:atsuhiro-me:20151103003616p:plain:w300

f:id:atsuhiro-me:20151103003618p:plain:w300

f:id:atsuhiro-me:20151103003619p:plain:w300

Xcodeにて

こちらに書いたように通常のapp作成と同じ手順です。いくつか注意点があります。

エラーリスト

Apple Mach-O Linkerが大量のエラー

ld:warning: ignoring file /Users/..../TestiOS/Libraries/libiPhone-lib.a,missing required architecture i386 in file/Users/..../TestiOS/Libraries/libiPhone-lib.a (2 slices)
Undefined symbols for architecture i386:

などというエラーが出ている場合は、Xcodeの上部にあるSchemeを、Unity-iPhone>SimulatorからiOSdeviceに変更します。iOSシミュレーターを使用する場合は、左の画像のように、UnityのTarget iOSVersionでSimulatorを選択します。

.appが赤字から黒字にならない

みーも原因がよくわからないのですが、時々発生します。よく調べるとappファイルは書きださているようで、

/Users/xxx/Library/Developer/Xcode/DerivedData/Unity-iPhone-<xxxxxxxxxxx>/Build/products

にはappファイルが存在します。

Code Sign error

Code Sign error: The identity "iPhone Developer" doesn"t match any valid, non-expired certificate/private key pair in your keychains
The identity "iPhone Developer" doesn"t match any valid, non-expired certificate/private key pair in your keychains

というエラーが表示されたら、Unity-iPhoneのProjectのBuild Settings の Code Signing の項目をすべてDon"t Code Signに設定します。もう一度Buildすると正常に実行されるはずです。

f:id:atsuhiro-me:20151103003620p:plain:w300

実行例

6つの立方体を回転させるサンプルを作成し、上記の方法でiPod touch 4Gにインストールし、実行しました。このレベルのグラフィックは60fpsでもまったくコマ落ちせずに実行されたので、最近のモバイルデバイスはすごいなあ〜と感動しました。

f:id:atsuhiro-me:20151103003623p:plain:w300

 

on iPod touch 4G

(2012/08/02)