存在待处理交易。 如果某些购买交易尚未完成,iOS 将尝试自动处理该交易。
某些自动续订订阅应该得到更新。 如果自动续订设置开启且订阅已过期,则 iOS 也会自动启动自动续订交易的购买交易。
当事务观察者被添加到支付队列时,就会触发此操作。
[[SKPaymentQueue defaultQueue] addTransactionObserver: yourTransactionObserver];
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
并且了解正在处理的交易。
基本上,SKPaymentQueue没有应用程序取消正在进行的交易的功能,因此您需要继续进行该交易。
根据您提到的,“现在,我已经从设备中卸载了应用程序,并从iTunes和App Store中清除了凭据。然后重新安装。”,您需要在设备上使用Apple账户登录iTunes以删除此弹出窗口。
这种情况有时会在沙盒环境中发生,但并非总是如此。一旦您的应用程序已上线并且应用内购买已获得Apple的批准,一切都将自动正常工作。
然而,您的应用内购买代码流程应该是正确的。如果您尚未登录,iOS会自动要求您选择登录选项,否则它将仅显示输入密码的弹出窗口,并自动填充用户名/电子邮件。