Unity で作った ARKit 向けアプリをリリースする時に気をつけること【審査まで】
はじめに
今回 ARKit の機能を利用するアプリを Unity を使って作成し、ストアに申請しました。(まだ承認されていないのでストアには並んでいませんが)
そこで、Unity を使って ARKit の機能を利用するアプリをストアに申請する際に出たいろいろなエラーなどを紹介し、回避法やおすすめ設定をメモしておきます。
審査結果が届き次第、またフィードバックを記事にまとめたいと思います。
Unity 側
minimum iOS のバージョンを 11 に
ARKit は iOS 11.0 以降でかつ、iPhone6s 以降に発売された iPhone および iPad でしか動作しません。
そのため、File -> Build Setting -> Other Settings の Target minimum iOS Version を 11.0 にしましょう。
必要ならターゲットデバイスを iPhone のみに
もし必要ならですが、上と同じく File -> Build Setting -> Other Settings の Target Device を iPhone Only にしておきましょう。
ただ、iPad でも機種によっては ARKit が動作するため、iPad にも対応させている場合は Target Device を iPhone & iPad にしましょう。
画面回転をしない設定にしておく
これはもちろん作るアプリケーションにもよりますが、自分が今回作ったアプリでは画面回転をしない方が良かったため、このような設定にしました。
File -> Build Setting -> Other Settings の Default Orientation を Portrait にすることで、画面を縦固定にすることができます。
XCode 側
こちらが意外とネック。
Unity で Xcode 用ソリューションにできたとしても安心できません。
自分は結構ビルドが通らなかったです。
Architectures を arm64 のみに(重要)
Build Setting の Architectures で対象とするデバイスのアーキテクチャが選択できます。
これがデフォルトですとおそらく、arm64 armv7 が選択されているのですが、これだとビルドが通りません。以下のようなエラーが出ます。
clang: error: invalid iOS deployment version '-miphoneos-version-min=11.0', iOS 10 is the maximum deployment target for 32-bit targets [-Winvalid-ios-deployment-target]
これは、ターゲットとする iOS のバージョンを 11 以上に設定しているのに、32-bit アーキテクチャは最大で iOS10 ですよーとのエラーです。
こちらの iOS デバイス一覧から armv7 は iOS11 に出来ないことがわかります。
qiita.com
そのため、arm64 armv7 の部分を選択し、Othersを選択。
その後、armv7 を削除しましょう。
1024×1024pt のアイコンを設定しておく
ARKit には関係しませんが、App Store にアプリが並ぶ時に表示される 1024*1024pt のアイコンを XCode 上で予め登録しておかないと、iTunes Connect でアプリを審査に出す時にエラーとなってしまいます。
あとでエラーになると面倒なので、予め設定しておきましょう。
1. General -> App Icons Source の右側にある矢印をクリックし、一番下にある欄にアイコンを設定しましょう。
アイコンは非透過の png を用意
これも ARKit には関係しませんが、アイコンは非透過のものを用意しておかないと iTunes Connect でアイコンを設定することができません。
自分は、png(透過)→jpg(非透過)→png(非透過)にして非透過画像の png を用意しました。(もっとスマートなやり方は絶対ある)
とりあえずはざっとこんなところです。
アプリの申請の流れは以下のサイトが参考になりました。
i-app-tec.com