このデリゲート メソッドを使用して、トランザクションのステータスを確認できます。
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
NSLog(@"%i",[transaction transactionState]);
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
// [self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
// [self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
// [self restoreTransaction:transaction];
case SKPaymentTransactionStatePurchasing: {
// if([self.delegate respondsToSelector:@selector(inProcessPurchasingTransaction)])
// [self.delegate inProcessPurchasingTransaction];
}
default:
break;
}
}
}
トランザクションが成功すると、次のデリゲート メソッドが起動します。
- (void) completeTransaction: (SKPaymentTransaction *)transaction
そして失敗した場合:
- (void) failedTransaction:(SKPaymentTransaction *)transaction
また、テスト目的で、テスト ユーザー アカウントを作成する必要があります。アプリをプログラムした後、アプリをテストすることが必要になる場合があります。これらのアカウントを使用して、App Store にログインできます。購入は本物であるかのように処理されますが、金融取引は行われません。