ios - 从队列中删除旧的 SKPayment

标签 ios app-store-connect storekit

应用内购买在我的应用中正常运行。我什至使用自己的服务器来验证交易收据。

但是,我似乎遇到了 SKPaymentQueue TransactionObserver 和/或 DefaultQueue 的问题。

每当我进行以下调用时,用于旧测试帐户的 iTunes 提示都会出现 -

SKPaymentQueue *currentQueue = [SKPaymentQueue defaultQueue];

我不知道如何阻止这个旧测试帐户在我需要进行购买或恢复交易时出现。

有人推荐了以下代码,它似乎可以完成所有旧交易,但它并没有解决我的问题。

SKPaymentQueue* currentQueue = [SKPaymentQueue defaultQueue];
[currentQueue.transactions enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[currentQueue finishTransaction:(SKPaymentTransaction *)obj];

}];

我还尝试过删除该应用程序,从设备中删除旧的测试帐户以及 iTunesConnect。旧的用户提示仍然出现!

非常感谢任何帮助,谢谢。

最佳答案

它们是沙盒交易还是生产交易?

沙箱交易很乱,有时我在队列中发现旧交易,沙箱交易的生命周期与生产交易的生命周期不完全一致

关于ios - 从队列中删除旧的 SKPayment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399464/

相关文章:

iphone - 完成交易 : isn't removing the transaction from queue. ..

ios - Parse IAP 与 StoreKit 相比安全性如何

iphone - 应用内购买在生产应用中失败

ios - 自定义 Instagram 登录 View

ios - 快速多个 View 来点击数组中的手势

app-store-connect - 在 iTunes Connect 中更改新应用程序版本号

ios - 如何在更新版本时更改 iTunes Connect 中的 iOS 应用程序图标?

ios - UIImagePicker 禁用相机缩放

ios - 如何使用 xmpp ios 加入群组并获取现有群组的列表

ios - 上传到 iTunesConnect 后构建消失