読者です 読者をやめる 読者になる 読者になる

ak毎日ブログ

大分暮らしの地方ウェブデザイナーakが、毎日ナニカを語るブログです

iOS提出でリジェクトされる advertisingIdentifierを広告目的以外で使ってはいけない

Unity

今年の1月くらいからぼちぼち出てるらしいです、この話題。
今日もちまたでお聞きしました。

なんでも、iOSアプリの審査に変更が入って

AdSupportフレームワーク
ASIdentifierManagerクラスの
advertisingIdentifierというメンバを
広告の表示目的以外で使ってはいけなくなったらしいです。

詳しくはこちら。
http://d.hatena.ne.jp/nakamura001/20140204/1391482823

あとこちらも。
http://qiita.com/monry/items/b473e3db7e48f05be96b

これの何が問題かというと、
Unityのバージョン4.3.4現在のUnityが出力するiOSビルドのXCodeプログラムには
全てこのメンバを使用する記述が含まれてしまっているのです。

なのでUnityで出力したiOSアプリは
もれなくリジェクト対象になってしまう可能性があります。

これは今後のUnityのバージョンアップで修正されるようですので、
公式対応を待ちましょう。

・・・・では終われません。

今すぐリリースしたい場合はどうすればいいの!?という話ですが、
Unity開発者がこういう風に対処してくれというのを提示しているようです。

http://forum.unity3d.com/threads/226187-iOS-Advertising-Identifier-rejection-FAQ

簡単に言えば、

XcodeのDeviceSettings.mmファイルから、
(a)の関数を削除し、
(b)の変数を削除し、
(c)の部分を変更すればOKです。

DeviceSettings.mmファイルはアプリに依存しない部分なので(おそらく)
あらかじめ修正したDeviceSettings.mmファイルを用意しておき
Xcodeのビルド前に自動的に上書きして書き換えてしまうようにすれば良いと思います。


iPhone&Androidアプリ内課金プログラミング完全ガイド

iPhone&Androidアプリ内課金プログラミング完全ガイド