まだ申請前なので、未確認の情報だが、一応書いておこう。
自分がやったのは自動継続型だった。
でテストユーザーは、今までApp IDをとっていないユーザーにするのだが、
購入前に実機の設定→Storeでサインアウトさせるのはもちろん、
どうやらそのユーザーでサインインして登録しちゃうとテストユーザーにならないぽいのだ。
あと、何回かテストしてると購入に失敗するが、この場合アプリを削除するかでもだめならiPhone再起動。
リストアについては、失敗したか否かを
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
の中で
transactionsの中のSKPaymentTransactionのtransactionStateがSKPaymentTransactionStateRestoredのときにレシート確認をしてやればいいのだが、このとき確認するレシートは今のSKPaymentTransactionのtransactionReceiptでいいらしい。少なくともおれはこれでうまくいった。
あとサンドボックスの挙動がときどきおかしくなるが、そんなもんだと思って諦めてください。
ああと自動継続型の場合購読停止などのテストはサンドボックスの中で決められた時間が経つまで(1か月なら30分らしい)できないので気長に取り組もう。
それにしても難儀な仕事だった…