Xcode7 でビルドする方法

概要

Mobage Native / Unity SDK 1.4.7.7 および 1.4.9 以上の SDK のみ対象となります。Mobage Native / Unity SDK 1.4.7.7 および 1.4.9 以上の SDK で Xcode7 以上でのビルドが必須というわけではありません。

Xcode7.1 + Unity 5.2.3f + Mobage Unity SDK 1.4.9 以降の組み合わせであれば、以下の項目は全て自動で行われます。Unity の特定バージョンと Xcode のバージョンでの組み合わせで、Xcode のビルドが通らない場合は Unity と Xcode7 以上をご利用の場合でビルドがうまくいかない場合 をご確認ください。

Mobage Native / Unity SDK 1.4.7.7 および 1.4.9 以上が組み込まれたアプリを Xcode7 でビルドする際に必要な手順を解説します。

Bitcode の同梱を無効化(1.4.8 以下)

Mobage Native / Unity SDK 1.4.8 以下では Bitcode の同梱に対応していません。デフォルトで Enable Bitcode=YES になっていますが、こちらの無効化をしてください。

Mobage Native SDK 1.4.9 以上では、Enable Bitcode は Yes で問題ありません。Mobage Unity SDK 1.4.9 以上では引き続き Enable Bitcode は No に設定してください。

 

これによるデメリットは、Apple 社が新しいハードウェアを出した場合などに、アプリを再ビルドせずに App Store 上で最適化するという機能の恩恵を受けられなくなることです。

AppTransportSecurity の無効化と Custom Scheme 問い合わせの許可設定

Xcode7 では、 TLS 1.2 SSL 以外の HTTP 通信をデフォルトで拒否する対応が入っています。これを許可するための設定が必要になります。

また、アプリの Custom URL Scheme が使えるかどうかを確認するため、Info.plist 内にホワイトリスト設定が必要になります。

Info.plistをテキストで編集する場合

下記の項目をInfo.plistへ追記してください

※ ${appId}の箇所は、Ad SDK 登録時に発行されたアプリIDに置き換えます

Xcode のエディタ上で編集する場合

  1. アプリのターゲットから Info -> Custom iOS Target Properties を開く
  2. 適当な行の + で新規の行を追加し、Key に NSAppTransportSecurity を入力
  3. Type を Dictionary に変更
  4. NSAppTransportSecurity の右の + で行を追加し、Key に NSAllowsArbitraryLoads を入力し、Type: Boolean, Value:YES に設定する
  5. 適当な場所の + で行を追加し、Key に LSApplicationQueriesSchemes を入力
  6. Type を Array に変更
  7. LSApplicationQueriesSchemes の右の + で行を追加し、mobage-jp-${appId} を入力 

Xcode 7.1 より、NSAppTransportSecurity は補完が効くようになりました。

  • App Transport Security Settings
  • Allow Arbitrary Loads
  • Exception Domains

などのkeyになっていますので「App」等と入力すれば補完されるようになってます。

※ LSApplicationQueriesSchemes はまだ対応していないようです。

 

SafariServices.framework の必須化

Mobage Native / Unity SDK 1.4.7.7 および 1.4.9 以降では、SafariServices.framework のインポートが必須になりました。Link Binary with Librariesより、SafariServices.framework を Optionalで追加する必要があります。

Native / Unity SDK 1.4.7.7 および 1.4.9 以上で FOX を利用する場合

Mobage Native / Unity SDK 1.4.7.7 および 1.4.9 以降で F.O.X を利用する場合、SafariViewController 対応の F.O.X 2.16g 以上が含まれているので、Xcode7 以上でのビルドが必須となります。

Unity と Xcode7 以上をご利用の場合でビルドがうまくいかない場合

 Mobage Unity SDK と Unity と Xcode7 以上の組み合わせで、Unity と Xcode のバージョンの組み合わせによっては、 Xcode プロジェクトがビルドできないことがあります。その時は以下の設定をおねがいします。

 

更新履歴

  • 2015/11/25
    • 1.4.8.1 以上を 1.4.9 以上に変更
    • Enable Bitcode の部分の対象を 1.4.8 以下に変更
    • SafariServices.framework のインポートを必須化
  • 2015/10/01
    • 新規作成

 

PREVIOUS

セットアップ

NEXT

アプリケーションを開発する