iOS 应用每次启动时都会要求输入密码

mrg*_*les 4 storekit in-app-purchase ios

我正在我的设备上测试一个新应用程序,今天,我开始集成 StoreKit 以进行应用程序内购买。

问题是每次我启动应用程序时,它都会询问我的沙箱帐户密码。在下文中,您将找到有关该问题的一些详细信息。

  1. 我第一次启动该应用程序时,一切都按预期进行。完成应用内购买时没有问题(与我的沙箱用户 - 我们称之为 testuser1@t.com -)。
  2. 停止应用程序,集成一个按钮“恢复购买”。不幸的是,我忘记在完成时添加“finishTransaction”(不确定这是否可能是问题所在)。
  3. 从现在开始,每次我启动该应用程序时,它都会不断询问我 testuser1@t.com 的密码。

StoreKit 开始在一个不是 rootView 的视图中做它的东西,所以我排除了我以编程方式抛出错误的情况......

那么,我之后做了什么?

  1. 从设备中删除应用程序并重新安装(重启后)
  2. 删除了沙箱用户(并创建了一个新用户 - 比如说 testuser2@t.com -)。我成功使用了新帐户以获得新的 IAP。
  3. 已清除设备上的设置
  4. 从 iTunes Connect 中删除 IAP

问题仍然存在。请记住,要求的密码是 testuser1@t.com(第一个测试帐户!)

Hun*_*onk 6

停止应用程序,集成一个按钮“恢复购买”。不幸的是,我忘记在完成时添加“finishTransaction”(不确定这是否可能是问题所在)

确实是这个问题!

如果队列中还有交易,Store Kit 将始终要求您重新进行身份验证。要摆脱这些交易,只需调用:

for transaction in SKPaymentQueue.defaultQueue().transactions {
    SKPaymentQueue.defaultQueue().finishTransaction(transaction)
}
Run Code Online (Sandbox Code Playgroud)