应用内购买沙盒测试 - 旧沙盒用户持续提示

10
我正在开发一个带有应用内购买的iPhone游戏。我试图通过调用restoreCompletedTransactions来检索沙盒用户之前的购买记录,但没有任何回调被触发。
我从网上阅读到一些其他人遇到类似问题的解决方案是删除沙盒用户并尝试创建新用户。我尝试在一个月左右的时间内多次删除和创建新测试用户(一些用户报告说这是苹果的沙盒服务器问题),但我没有任何运气。
奇怪的是,在我的iPhone上进行还原调用时,每次都会提示输入我的用户凭据,并且会提示输入我曾经试过的所有以前的沙盒帐户。这很奇怪,因为我已经从iTunesConnect中将它们删除,并且还在我的iPhone设置中注销了App Store。
我还尝试过恢复我的iPhone,但也没有起作用。
1个回答

5

一旦您添加了交易观察器,iOS会检查默认队列是否有任何未完成的交易(这意味着您没有完成它),因此每次出现交易时它都会显示警报框,直到您完成它,即使您没有采取任何添加新付款的操作。因此,请尝试为所有当前卡顿在队列中的交易调用完成交易。


1
如何为不存在的用户完成交易? - Victor Engel
好的。我通过在paymentQueue:updatedTransactions:中硬编码一个finishTransaction来摆脱了大部分问题。它们没有正常完成,因为对于已删除的用户,无法从Apple服务器传递下载文件。我似乎还有一个问题未解决,但我找不到任何相关信息。在上述方法中,我会得到一个登录提示,但没有更多的交易。我应该检查另一个方法吗? - Victor Engel
你好 @VictorEngel ,在某些情况下,我发现默认队列直到我对设备进行完全重置之前都不会为空。也许这个解决方案对你有帮助。 - Malek_Jundi
谢谢。这很有帮助,因为它表明待处理的部分存在于设备上而不是苹果的服务器上。如果有一个在线工具可以单独查询队列而不需要使用应用程序就更好了。 - Victor Engel
它对我也没用,这里是我的问题:http://stackoverflow.com/questions/24693872/in-app-purchase-asking-old-account-password-while-restoring 有人能帮忙吗? - Dinesh Reddy Chennuru
不幸的是,有时候这种情况的唯一解决方案就是对设备进行完全重置。 - Malek_Jundi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接