Ios 应用内购买提示在应用启动时登录

Ios 应用内购买提示在应用启动时登录,ios,swift,in-app-purchase,storekit,Ios,Swift,In App Purchase,Storekit,我正在iPhone游戏中使用StoreKit进行应用内购买。所有的购买都正常工作,但是当应用程序打开登录到一个不再存在的帐户时,我会不断收到提示 我有一个沙盒帐户,我一直使用,直到我得到一个错误,按下“恢复购买”就是恢复购买,即使用户按下模式弹出窗口上的“取消”。正因为如此,我创建了一个新的沙盒帐户,尝试从一个没有进行任何购买的帐户恢复购买。不幸的是,恢复购买在这种情况下仍然有效,这当然是一个问题。我想这可能是一个问题,旧的沙盒帐户仍然在设备的某个地方,所以我删除了它。由于某些原因,每次应用程序

我正在iPhone游戏中使用
StoreKit
进行应用内购买。所有的购买都正常工作,但是当应用程序打开登录到一个不再存在的帐户时,我会不断收到提示

我有一个沙盒帐户,我一直使用,直到我得到一个错误,按下“恢复购买”就是恢复购买,即使用户按下模式弹出窗口上的“取消”。正因为如此,我创建了一个新的沙盒帐户,尝试从一个没有进行任何购买的帐户恢复购买。不幸的是,恢复购买在这种情况下仍然有效,这当然是一个问题。我想这可能是一个问题,旧的沙盒帐户仍然在设备的某个地方,所以我删除了它。由于某些原因,每次应用程序启动时,仍会提示我登录已删除的测试帐户

研究让我相信,也许某个地方的交易没有完成,所以每次应用程序启动时它都试图完成它?这听起来可信吗

如果你想看我的代码,请告诉我,我会更新

编辑:我当然尝试过删除应用程序,重新安装并注销所有帐户,同时重新启动设备

研究让我相信,也许某个地方的交易没有完成,所以每次应用程序启动时它都试图完成它?这听起来可信吗


不仅是似是而非,而且很有可能。破解你的应用程序,在所有事务上调用finish,而不管实际完成状态如何,然后取消破解。

为了解决这个问题,我最终登录了它提示我登录的帐户,然后再次手动完成并购买了我的所有IAP,这重置了所有挂起的操作,并修复了问题

谢谢你的回复,你知道我会怎么做吗?您知道有没有办法删除或清除所有挂起的事务?这就是我所指的。如果我对您的问题的解释与实际问题相符,则您有一个由iOS维护的等待事务队列,这些事务正试图启动(导致登录请求)。检查事务观察器--您是否收到启动通知?立即在应用程序的hack构建中调用SKTransaction上的finish方法(与成功完成新IAP项目的购买/交付时调用的方法相同)。谢谢,我会尝试一下,然后返回给你