アプリ内課金の公開への長い道のり

先程、ようやくアプリ内課金を実装したアプリをリリースしました。


「安寧の巫女」〔無料)
https://itunes.apple.com/jp/app/an-ningno-wu-nu/id804127600?l=ja&ls=1&mt=8


占いミニゲームとその占いのベースとなる世界観の物語も収録しています。
無料で遊べます。


さて、今回のアプリ内課金で手こずった事。
プログラムの実装などは、下のサイトを参考にしつつ、テスト環境では上手く動く所まで来ました。


失敗しない iOS In-App Purchase プログラミング
hhttp://d.hatena.ne.jp/glass-_-onion/20111201/1322697417


非常に参考になりました。
さて、問題はその後。

  • NO In-App Purchases という理由でのリジェクト


 Resolution Center でやりとりしたり、お電話頂いたりして判りました。
 つまり、アプリは提出されているけれど、In-App Purchases 自体が提出されていない、という事でした。
 かなりトホホです。


 それで、Manage In-App Purchases で、提出しようとすると、提出出来ない。
 どうも、初回提出時は先にアプリの方でIn-App Purchasesを設定しないといけないのですが、コレ、アプリ提出前に設定しないと、設定出来ないんですよね。
 そう英語で書いてあるんですが、ハマりました。


 なんとか、初回版をリリースした所・・・・・

  • 課金が出来ない!


 販売版をDLし、課金しようとすると、プロダクトIDが無い、というエラーが発生し、購入出来ないという事態に。
 調べてみると、Manage In-App Purchases で作成はしたものの、まだ、提出していないプロダクトIDをプログラム内で呼んでいたのが原因でした。


 この事から判ったのは、Manage In-App Purchasesで作成しただけものでも、テスト環境では上手く動く。
 しかし、セールス対象となると、Manage In-App Purchases で提出していないものは、無いものとして扱われる。


 という事でした。


 セール中のアプリを販売停止にして、問題のコードを修正し、バージョンアップ。
 そして、ようやく先程リリースとなりました。