2015年2月4日水曜日

iPhoneアプリ開発でリジェクトとリリースへの道のり

同じような悩みで困っている人がいれば、少しでも助けになればと思います。



iphoneアプリを開発してみました。

初めてなので比較的簡単で、自分が欲しいものを作りました。
とりあえず、目的は、アプリの開発とリリースの流れを知ることです。
アプリは無料の予定ですので、広告を出すことも目的としました。

で、Xcodeでアプリを作り、iTunes Connectでいざ申請しました。




数日後、リジェクトされました。

問題開発センターで、
「2.1 - Apps that crash will be rejected」
というメッセージが届いています。

う〜ん、テストはしているのに。。

crashファイルが送られてきました。
なので、crashファイルを見てみました。
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash (送られてきたクラッシュファイル名).crash (アプリ名).app.dSYM >./crash.log
 とターミナルで、実行してcrash.logを見ると
 落ちたところが大体わかります。


バグってました。

すみません、Appleの審査担当者さま。。

修正しました。
で、再度、申請しました。




Rejectです。



iPadで広告が出ません。って言われているようです。(英語は苦手だ。。)

一応、デバイス要件としては、iPhone / iPod Touchとしていたのですが、
デバイス要件に関係なく審査されるんですね。
追々アップデートでiPadでも動くようにしようかと思っていたので、
作りこんでみることにしました。

iPadでも広告は出るのですが、配置が崩れてしまいました。そのためにRejectされた
のだと思います。

対策として、
別のViewを追加して、universalの自動調整の影響を受けない(?)ようにしました。
と、文章で書いても伝わりにくいかと思いますが、ご了承ください。


これで、再度申請しました。



はあ、
リジェクトです。


PLA 3.3.12


です。
いろいろネットで調べてみましたが、
この手のリジェクトは多いようで、
検索するといろいろと出てきます。

で、いろいろと参考にさせて頂いて対策を講じた末 、
リジェクトを繰り返します。

恥を承知で晒しますが、 問題は勘違いと認識不足でした。

アプリに広告を出す場合は
Advertising Identifier(IDFA)(広告識別子)が必要と思っていましたが、
iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.  
と、iAdでのみ広告を出す場合には必要なかったということです。
 (iAd.frameworkはthird-party libraries には当たらなかったということ)

アプリに問題があったのではなく、レビュー申請時に
Does this app use the Advertising Identifier (IDFA)?に"Yes"と
してしまっていたのがダメでした。

なので、アプリを変更することなく、次の申請で上記チェックをせずに出しました。
10日程して、「Pending Developer Release.」と来ました。

ようやくリリースできそうです。

 こんなんで、参考になりますか。。