当用户选择不在iOS InApp Purchase中购买商品时,如何自定义错误处理?

How*_*ard 2 iphone xcode objective-c in-app-purchase ios

例如,当用户在InApp购买期间要求登录时,他们可以点击"取消"按钮,然后该应用程序将推送

Can't connect to the iTunes Store
Run Code Online (Sandbox Code Playgroud)

是否可以使用我们自己的回调而不是此标准消息?

kth*_*rat 7

我相信你没有得到"无法连接到iTunes Store"的警报,我怀疑你正在显示警告视图,并在回调中显示错误.

我已经检查了iOS 5和4.3.如果你没有看到4.3及以上,我不会担心.

您可以使用以下代码检查用户是否取消了该交易

尝试使用以下代码 restoreCompletedTransactionsFailedWithError

if (!((error.code != SKErrorPaymentCancelled) && (error.code != SKErrorPaymentNotAllowed))){
    NSLog(@"User Cancelled");
}
Run Code Online (Sandbox Code Playgroud)

我知道它看起来有点令人困惑,但效果很好,甚至用户在恢复或新购买时取消了.

  • 您的 if 语句可以更清楚地表示为:`if (error.code == SKErrorPaymentCancelled || error.code == SKErrorPaymentNotAllowed)`。这可以使用真值表来证明。 (2认同)