当iOS应用程序即将终止时,是否有可能取消in-app-purchase
?我遇到了这样一种情况:用户开始in-app-purchase
过程,同时关闭了应用程序。我们能否在下面的代码中撤销InApp购买?
- (void)applicationWillTerminate:(UIApplication *)application
当iOS应用程序即将终止时,是否有可能取消in-app-purchase
?我遇到了这样一种情况:用户开始in-app-purchase
过程,同时关闭了应用程序。我们能否在下面的代码中撤销InApp购买?
- (void)applicationWillTerminate:(UIApplication *)application
购买过程在应用内购买编程指南中有描述。
当您的应用程序被终止时,发生的情况取决于您在购买过程中所处的位置。
如果尚未提交付款请求,则您无需采取任何措施;用户不会被收费,也不会记录任何交易,您无需采取进一步的行动。
如果您已经提交了付款请求,但用户尚未授权付款(通过密码或TouchID授权付款的提示由iOS在您的应用程序之外呈现),则可能不会记录任何交易,或者交易可能会以“失败”状态报告给您的交易观察器。 无论哪种方式,用户都不需要支付费用,您也不需要采取进一步的行动。
如果用户已经授权交易,但交易没有被呈现给您的交易观察器,或者您的应用程序没有调用finishTransaction
,则下次执行您的应用程序时将重新呈现交易给您的交易观察器。 这就是为什么重要的原因,即您的应用程序在完成应用程序逻辑中的购买(解锁功能,增加用户余额或其他)之前不要调用finishTransaction
。
因此,总之,没有方法取消购买过程,如果您已经正确实现了交易观察器和购买逻辑,则无需这样做。