如何从事务队列中删除非常旧的,已停止使用的应用内购买 [英] How to remove a very old, defunct in-app purchase from the transaction queue

查看:96
本文介绍了如何从事务队列中删除非常旧的,已停止使用的应用内购买的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我公司最近将iOS应用程序的开发外包给第三方开发人员。该应用程序包括许多应用程序内购买,开发人员向我们发送了各种版本,其中许多是pre-alpha并包含错误。因此,我的手机(iPhone 4S)似乎有很多已停止的应用内购买尝试,导致它每天多次出现密码请求。

My company recently outsourced the development of an iOS app to a third-party developer. The app included a lot of in-app purchases, and the developer sent us various builds, many of which were pre-alpha and contained bugs. As a result, my phone (iPhone 4S) appears to have a lot of defunct in-app purchase attempts which cause it to keep popping up a request for a password many times a day.

已删除购买的测试帐户。
该应用程序已从我的手机中删除。

The test account for the purchases has been deleted. The app has been removed from my phone.

一些谷歌搜索并查看stackoverflow似乎表明有一些购买卡在队列中继续尝试每当我使用另一个有应用内购买的应用程序时完成。但是我不知道如何清除这个队列并删除这些令人讨厌的弹出窗口。

Some googling around and looking on stackoverflow seems to suggest that there are some purchases stuck in a queue that keep attempting to finish whenever I use another app that has in-app purchases. However I have no idea how to clear this queue and remove these annoying popups.

是否有一个万无一失的方法,或者我可以使用的短代码提取方法可以做到这一点?我可以访问Xcode和Xamarin Studio,并且具有中等技术知识,但不是iOS开发方面的专家。

Is there a foolproof method, or a short code extract I can use that will do this? I have access to Xcode and Xamarin Studio, and have moderate technical knowledge, although am not an expert in iOS development.

提前致谢。

推荐答案

AFAIK,无法接收和处理发送到其他应用程序的交易。

AFAIK, it's impossible to receive and handle transactions, which was sent to other applications.

您确定删除了那个应用程序吗?您确定使用可能与其他名称相同的应用程序的应用程序与旧应用程序相同吗?

Are you "sure" you deleted that app? Are you sure, that you are not using the app possibly with the other name, with the same bundleID, as the old app?

编辑:根据Nande的建议,我正在为实际答案添加代码,这样人们就可以看到它而无需查看我的链接。

By Nande's suggestion, I'm adding code to the actual answer, so people can see it without need to check my link.

// take current payment queue
SKPaymentQueue* currentQueue = [SKPaymentQueue defaultQueue];
// finish ALL transactions in queue
[currentQueue.transactions enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    [currentQueue finishTransaction:(SKPaymentTransaction *)obj];
}];

这篇关于如何从事务队列中删除非常旧的,已停止使用的应用内购买的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆