我在我的应用程序中集成了应用程序内购买,它适用于购买和恢复项目。但是有一个问题,
当我使用 test1@gmail.com 购买商品时,其成功购买商品也可以恢复正常工作。
现在,我从我的设备上卸载了应用程序,同时清除了iTunes&应用商店。并再次安装。
当我点击恢复按钮时,则会显示两个Popup: 一个 test1@gmail.com ,第二个退出或创建用户。
每当我从后台到前台时,每次都会显示“登录”弹出窗口。
注意:我还调用了finishTransaction方法。但它不适合我。
登录弹出窗口显示时无法调用一种方法。
我该如何解决这个问题?
答案 0 :(得分:0)
据我所知,这有两种情况。
有一个待处理的事务。 如果某些购买交易尚未完成,iOS将尝试自动进行该交易。
一些自动续订的订阅应该续签。 如果启用了自动续订设置并且订阅已过期,iOS也会自动为自动续订交易启动购买交易。
这是在将交易观察者添加到付款队列时触发的
[[SKPaymentQueue defaultQueue] addTransactionObserver: yourTransactionObserver];
无论哪种情况,您都可以在交易观察器中放置断点
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
并掌握正在处理的交易。
基本上,SKPaymentQueue没有功能来取消应用程序正在进行的交易,因此您需要继续进行该交易。
答案 1 :(得分:0)
如您所说,“现在,我已从设备上卸载了应用程序,还从iTunes&App Store中清除了凭据。并重新安装。”,您需要在设备上的iTunes中使用Apple帐户登录才能删除此弹出窗口。
答案 2 :(得分:-1)
这种情况有时会发生在沙盒环境中。一旦您的应用程序处于正常状态并且应用程序购买获得Apple批准,一切都将自动正常工作。
但是,您的应用内购买代码流程应该是正确的。如果您尚未登录,iOS会自动询问登录选项,否则会显示仅输入密码的弹出窗口,并且会自动填写用户名/电子邮件。