なら@はてなブログ

福岡で働くスマートフォンエンジニア(おっさん)のブログ。更新頻度がとにかく低いのが悩み。

AppStoreの審査中にIn App Purchaseのデータが変になった件

さて、前の更新が2011年7月だったので、ちょうど半年ぶりの更新。
なにやったかというと、まあ転職してバタバタしておりました。現在は渋谷に拠点を構える緑色のWeb系企業でスマフォアプリの開発をしています。


それはさておき、今回も軽いTips程度の記事なのですが、自分でぐぐっても日本語の情報が出てこなかったので、同じ状況になった人の一助になれば。
前もって書いておきますが、たぶんApple公式ドキュメントのどっかに書いてるレベルだと思います。あしからず。


AppStoreに新規でアプリを登録しました。で、今回はIn App Purchase(以下、IAP)を使ってアプリ内課金を実装したので、IAPの商品もいっしょに登録して審査にだしました。
で、しばらくしたら審査が始まってリジェクトされたのですが、その頃からアプリ内のIAPの表示がおかしくなってまして。
具体的には、IAP商品の商品名とか説明がnullで戻ってきていました。また、購入確認ダイアログも「Unknown App」と表示されるようになって、まあリジェクトされたから一時的にそうなってるんだろうと思ってたんですが、そのあとでiTunesConnectにバイナリアップして再審査に出してもそのままでした。


これ原因は、「アプリがリジェクトされたタイミングで、一緒に登録したIAPの商品もリジェクトされたから」なんですが、ちょっとだけハマったのは、「最初にアプリのバージョンとIAP商品の関連を設定したんだから、バイナリアップしたらIAPも一緒に再審査になるだろう」と思ってたところ。
IAP商品と紐づいたアプリバージョンがリジェクトされた場合、その後でアプリのバイナリアップしようがメタデータを修正しようが、IAP商品自体のステータスはRejectedのままです。で、その状態だと上記のようにIAP商品の情報が取得できないままになります。(そのまま審査に出しても、それが原因で再度リジェクトされると思われます)


これを解消するには、Manage In App Purchaseで商品をそれぞれ修正して、ステータスを再びWaiting For Reviewに戻してやる必要があります。
今回は6商品登録してたので、ひとつひとつ修正してステータスを戻しました。めんどくさい・・・。
で、IAP商品にはなにも問題ない場合でも、アプリがリジェクトされるとIAPもまとめてRejectedにされます。そういう場合は、内容を修正する必要はないのですが、「ちょっとでいいのでどこか変更しないとステータスがRejectedのまま」なので、適当に文字列かえたりしてください。
ちなみに、いったん変更かければRejectedじゃなくなるので、その後でもとに戻すのはアリです。


そんな感じでー。
転職前はAndroidばっかりやってたので、ひさびさにiOSアプリ作ると手続きがめんどいですねえ・・・。