当iOS应用程序要终止时,是否可以取消in-app-purchase
?我处于用户启动in-app-purchase
进程并同时杀死应用程序的情况。我们可以在以下代码中恢复InApp购买吗?
- (void)applicationWillTerminate:(UIApplication *)application
答案 0 :(得分:2)
采购流程在In-App Purchasing Programming Guide
中有所描述当您的应用被杀时会发生什么情况取决于您在购买过程中的位置。
如果还没有提交付款申请,那么您不需要做任何事情;用户将不会被收取费用,也不会记录任何交易,您无需采取任何进一步行动。
如果您提交了付款申请但用户未授权付款(通过密码或TouchID授权付款的提示由iOS在您的应用外部提供)要么不会记录任何交易,要么交易可能向您的交易观察员报告"失败"状态。无论哪种方式,用户都不会被收费,您无需采取任何进一步的行动。
如果用户已授权交易,但交易未提交给您的交易观察员,或者您的应用尚未调用finishTransaction
,则交易将重新呈现给您的交易观察者下次你的应用程序执行。这就是为什么在您的应用程序逻辑中完成购买之前,您的应用程序不会调用finishTransaction
这一点很重要(解锁功能,增加用户余额等)
因此,总而言之,没有方法可以取消购买流程,如果您已经正确实施了事务观察器和购买逻辑,则无需进行任何操作。