检测已取消的itunes登录提醒以进行应用内购买

And*_*law 17 objective-c storekit ios

我有一个实现的类SKPaymentTransactionObserver.但是,当单击购买按钮时,如果用户未登录到应用商店,则会收到警报,要求提供现有ID或创建新ID.如果用户点击取消此消息或后续登录凭据警报,则不会收到该取消的通知.点击购买按钮后,我有一个覆盖屏幕的活动视图,所以我真的需要知道登录提醒是否被取消.

我已经测试了错误代码SKErrorPaymentCancelled,如果在登录后取消购买过程,则可以使用.我正在设备上进行测试.

有线索吗?

-UPDATE-

道歉我忘了提到这只发生在尝试恢复交易时,并且揭示了答案:我对协议缺乏了解.

And*_*law 36

在用户尝试取消还原购买请求实施后检测取消事件:

- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
{
    // test error.code, if it equals SKErrorPaymentCancelled it's been cancelled
}
Run Code Online (Sandbox Code Playgroud)


Sco*_*ter 9

在Swift 3.0中

public func paymentQueue(_ queue: SKPaymentQueue, restoreCompletedTransactionsFailedWithError error: Error) {
        print("Cancel Transaction");
    }
Run Code Online (Sandbox Code Playgroud)