6

IAP のテストを開始すると、システムから Apple ID とパスワードが要求されます。[OK] ボタンと [キャンセル] ボタンを備えたアラート ビューがあります。

キャンセルボタンを押すと、アプリで何らかのアクションを実行する必要があるため、このボタンを処理する必要があります。

非常に重要: 購入アラートではなく、自動化ダイアログがあります。アプリでこのアクションを処理する方法を知る必要があります (たとえば、ユーザーがキャンセル ボタンをタップし、この自動化ダイアログが消えた後に)

4

2 に答える 2

7

購入アラートではなく承認アラートのみが表示される場合は、購入を復元しようとしていることを意味します。

ユーザーが承認ダイアログのキャンセルボタンをタップすると、このデリゲートメソッドが呼び出されます。

- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error;
于 2012-07-22T22:43:23.880 に答える
3

このケースは、failedTransaction デリゲート メッセージで処理する必要があります。

- (void)failedTransaction:(SKPaymentTransaction *)transaction
{
    if (transaction.error.code != SKErrorPaymentCancelled)
    {
        // error!
    }
    else
    {
        // this is fine, the user just cancelled
        [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
    }
}
于 2012-07-22T22:13:06.437 に答える