iOS版への移植

iOSアプリ配布への道のり」に書いたようにMacBookが手に入り、iOSのアプリのリリースへ向けて動き出したところです。

まずは最も新しいAndroidアプリであるトランプ・アメリカンページワンを移植することにしました。これはUnityのバージョンが新しいということでアップデートによる影響が少ないためです。
Macにプロジェクトを持って行って、ビルドするとUnityエディター上では普通に動きました。これこそがUnityの大きな利点なわけですが、問題が起きずにそのまま動いたのですごいと思いました。UNITY_ANDROIDの定義によるところを少し直したくらいです。(本当はこういう端末ごとの対応もなくさなければマルチプラットフォームに完全対応という気がしませんが、機能が違うので仕方ないともやもやしています。)

iOSのビルドでは2段階を踏みます。UnityでのビルドではXcodeのプロジェクトが作られます。この先はXcode上でビルドをしてアプリを実機にインストールするというようになります。iOSのアプリはすべてXcode上で作らなければならないということです。(Androidではここら辺が自動で行われ、APKが得られるので楽なんですが。)

Xcode 7からはApple Developer Program(AppStoreにアプリを配信するには契約が必要)に参加しなくても実機にアプリをインストールできました。とりあえずアプリが作れるのか試すという意味では無料であるというのは良いです。実機の方でアプリを信頼するかという質問に答えれば使えるようになりました。
Apple Developer Programを契約するとアプリの作成時の署名等が変わります。このあたりが過去の情報だとかなり大変だというかわかりづらいそうですが、現在はすべてXcodeがFix Issueと割と自動で直してくれます。

「AdMobの対応の情報で正しいものがどれなのか?」ということが一番迷いました。色々な方が問題に遭っているようで自分が遭遇したものを順番につぶしていくしかない感じです。AdMobのUnity向けのプラグインを使っているのですが、Google Mobile Ads SDKをiOSでは追加する必要があります。Unityのプロジェクトに入れたほうが楽ですが、Xcode上で後から追加しても良いようです。このSDKをWindowsでダウンロードしたものを使うとなぜか駄目でMacでこのSDKをダウンロードしないとうまくいきませんでした。
まあそういうものらしいですが、納得いかないですね。

トランプ・アメリカンページワンをiOSに移植がほぼ完了したので、予約を受け付けることにしました。
他のAndroidアプリも順番に移植を進めていきます。 一つ完成させられれば、あとはそれに倣っていくだけです。