我正在开发具有IAP功能的ios应用程序.它工作得很好但是我今天遇到一个奇怪的问题.总是给我一个消息,要求我“出于某种原因登录iTunes Store”.这是截图:
每次当我启动应用程序或从背景恢复时,它总是显示这一点.我删除并重新安装应用程序后仍然显示此信息.当我在我的源代码中设置断点.没有任何交易,付款代理回调.有人可以告诉我原因是什么?可能是Apple IAP SandBox的问题吗? (我在其他设备上运行相同的应用程序没有任何问题,我可以在沙盒中购买,恢复)
解决方法
我也遇到过这样的问题,原来我在停止处理事务,然后在所有排队的事务上调用finishTransaction.在特定情况下,我忘记完成失败的交易.
所以,您可以尝试让您的应用程序运行一次,并为您的观察员委托中的每一个调用finishTransaction,如下所示:
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { foreach(SKPaymentTransaction *tr in transactions) [queue finishTransaction:tr]; }
即完成每个交易,不管交易状态如何.
测试运行后恢复到您的原始处理代码.
希望这可以帮助.