はいはいリジェクトリジェクト

そろそろ勘弁願いたい。

今回は、課金のモーダル開いたらクラッシュしたよ。

という内容だった。

しかし、何度屋っても再現しない。

こまったこまった。

 

クラッシュ時のレポートを添付してくれているのでそれを見てみた。

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 して、アイテムを選択する

 

その後、アプリのバイナリをアップロードするば良いらしい。

これで向こうでテストできるようになる。

はず。