はいはいリジェクトリジェクト
そろそろ勘弁願いたい。
今回は、課金のモーダル開いたらクラッシュしたよ。
という内容だった。
しかし、何度屋っても再現しない。
こまったこまった。
クラッシュ時のレポートを添付してくれているのでそれを見てみた。
Exception Type: EXC_CRASH (SIGABRT)
このタイプは正常にエラーを補足してクラッシュしているということ。
追いかけてみると確かに起動してすぐに SKPaymentQueue 実行して例外を吐いている。
ソースコードを見てみると、 addTransactionObserver をセットしている。
課金に絡んだイベントが発生したときのハンドラみたいな、デリゲータみたいなやつだ。
特に難しいことはない、基本的な機能だ。
普通ならこんなところで例外など出ないはずなのだが…。
調べてみたらどうやら出るらしい。
それはアプリ内課金のアイテムがないとき、だそうだ。
ということで iTunesConnect でアプリの詳細を見てみると、何にも設定されていないではないか!しかもアイテム全部リジェクトされてる!
アイテムをアプリ内で有効化するには
- アプリのステータスを Wating for Review の前の状態にする( Rejected とか Prepare for Upload とか)
- アイテムのステータスを Wating for Review の状態にする
- アプリのステータスを Wating for Upload の状態にする
- アプリの詳細の In-App Purchases を Edit して、アイテムを選択する
その後、アプリのバイナリをアップロードするば良いらしい。
これで向こうでテストできるようになる。
はず。