2016年4月5日火曜日

アドフリくんiOS SDK 2.8.1のframeworkをUnityプロジェクトから組み込む

最近になってアドフリくんの存在を知り、試してみることにした。
アドフリくんSDKは、iOS、Android、Unity、cocos2d-xなど、各種対応版が用意されている。Unityプロジェクトに組み込むのだから、ここはUnity版を選ぶべきだろうが、アドフリくんはアドネットワークAdMobに対応していない。AdMobを使いたい場合は、AdMobメディエーションからアドフリくんを呼ばなければならないというややこしさがある。但し、メディエーションからアドフリくんを使うと、アドフリくんのメリットが結構失われてしまうように思った。

今回、SDKの導入にあたり、少し躓いた所があったので、その辺りのことを書き残しておく。

環境

  • Unity 5.3.4f1
  • アドフリくんSDK adfurikunSDK_iOS_admob_2_8_1.zip
  • Google AdMob SDKは組み込み済み

sdklist.png


必要ファイルのコピー

解凍したファイルの中から、必要なファイルを取り出す。
  • adfurikunsdk.framework
  • AdfurikunAdMobView.h
  • AdfurikunAdMobView.m
  • AdfurikunAdmobInterstitial.h
  • AdfurikunAdmobInterstitial.m

上記ファイルをUnityプロジェクトに組み込むわけだが、その方法は二通りある。
Unityエディターから組み込む方法と、生成されたXcodeプロジェクトから組み込む方法である。自分はUnityエディターから組み込む方法が楽なので、今回もその方法をとることにした。

上記ファイルをUnityプロジェクトのAssets/Plugins/iOS/Adfurikun/の中へドラッグ&ドロップする。

必要フレームワークのチェック

UnityエディターのProjectビューからadfurikunsdk.framework(フォルダ表示になっている)を選択し、InspectorからFramework Dependenciesの設定を行う。
アドフリくんSDKは、現在のところAdSupport、AudioToolbox、AVFoundation、CoreGraphics、CoreTelephony、 MessageUI、StoreKit、SystemConfigurationが必要のようだ。(要ドキュメント参照)

framework.png

iOS向けBuild→失敗

ここでiOS向けBuildを行うと、エラーのような音がしてBuildが終了する。Consoleを見るとadfurikunsdk.framework/Resources が無いというエラーが出ている。
最初なんのことかさっぱり分からなかったが、一日経って分かってきた。以下、その対応方法を書く。尚、特にアドフリくんの中の人に直接確かめたわけではないので、参考にする場合は自己責任でお願いする。

adfurikunsdk.frameworkの修正

frameworkファイルはFinderでは一つのファイルに見えるが、本当は単なるフォルダなので、以下はターミナルの作業となる。

$ cd adfurikunsdk.framework
として、frameworkの中にカレントディレクトリを移動してファイルリストをとると以下の様に表示される。
adfurikunsdk.framework kenichi$ ls -la
total 24
drwxr-xr-x@  6 kenichi  staff  204  4  1 10:22 .
drwxr-xr-x  23 kenichi  staff  782  4  4 17:42 ..
lrwxr-xr-x@  1 kenichi  staff   24  4  1 10:22 Headers -> Versions/Current/Headers
lrwxr-xr-x@  1 kenichi  staff   26  4  1 10:22 Resources -> Versions/Current/Resources
drwxr-xr-x@  4 kenichi  staff  136  4  1 10:22 Versions
lrwxr-xr-x@  1 kenichi  staff   29  4  1 10:22 adfurikunsdk -> Versions/Current/adfurikunsdk
この中のHeaders、Resources、adfurikunsdkはエイリアスなのだが、Resoucesのリンク先 Versions/Current/Resources が無い事が分かった。これがUnityでBuildする時に現れるエラーの正体である。

なのでこのResourcesエイリアスを削除してやる。
$ rm Resources

これでiOS向けBuildを行ってもエラーが出なくなった。

関連記事

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...