Blog ブログ

Solving the problem of iPad Pro icons not being set automatically in Unity

どうも。
「CCS・ボウザー・田中」です。

覚えてもらうために、自分をタグ付けしたらどうかと思った限りです。
しばらく経過観察したいと思います。

1. さて

本日、ラフな内容でお届けします。
「Unity5.3.1でビルドした際に、Xcodeで見るとiPad Proのアイコンが設定されていない!」
という事に気付きました。

GUI上で、毎回手動設定するのも、面倒くさいなー。
更新内容見てみると、簡単そうだったのでUnityから書き出した時に行わせるようにしましょう。

それでは、スタートです。

2. Postprocessの用意

まず、Unityビルド完了後にスクリプトを実行させる必要があります。
Postprocess Attributeを設定して、システムから呼び出してもらいます。
Editorフォルダ以下に、下記のスクリプトを追加します。
Loading ….

3. アイコンをコピーする

9 ~ 10行目の内容。

特定パスからアイコンを持っていきます。
ファイルコピーするだけでOKです。

書き出されたXcodeプロジェクトに対してなので
「Unity-iPhone/Images.xcassets/AppIcon.appiconset」に配置します。

構成によって書き出しパスが違うので、引数で渡されるpathを利用しましょう。
path + “Unity-iPhone/Images.xcassets/AppIcon.appiconset”でOKです。

4. jsonに追加を行う

12 ~ 29行目の内容。

images.xcassessに2. で追加したアイコンを追加します。
手動での設定方法、XcodeからUnity-iPhone/images.xcassets/AppIcon/iPad Pro App iOS9 83.5ptにアイコンをD&Dです。
Contents.jsonのimages末尾に21 ~ 24行目の情報が追加されている事がわかります。

静的な情報なので、これをスクリプトからファイル読み込んで追加するだけです。
JSONパーサ使わずとも、直接テキストいじっても、事前に用意したContents.jsonコピーでも何でも大丈夫です。

5. チェック

それでは、準備が整いました。Unityからビルド行ってXcodeを開いて
「Unity-iPhone/images.xcassets/AppIcon/iPad Pro App iOS9 83.5pt」に
アイコンが設定されている事が確認出来ればOKです。

6. 最後に

公式でサポートされれば良いのですが、それまでの間の応急処置です。
Unityの設定だけでいけるならば、情報いただけますと幸いです。

あと、Postprocessって数年前にPostprocessBuildPlayer使っておりましたが
C#で書いた方がバッティングもしないし、比較的自由に書けるので良いですね。
(Shell, Ruby, Pythonで書いた方が楽な場合もありますが、今の用途だとこれで良い)

6. 採用情報

クラウドクリエイティブスタジオでは絶賛エンジニア募集中でございます。
ご興味ございます方。募集中、募集中でございます。
採用情報