ios - 应用程序被杀死时取消应用程序内购买过程

标签 ios objective-c in-app-purchase

当 iOS 应用程序即将终止时,是否可以取消应用内购买?我处于用户启动 in-app-purchase 进程并同时终止应用程序的情况。我们可以在下面的代码中恢复 InApp 购买吗?

- (void)applicationWillTerminate:(UIApplication *)application

最佳答案

购买过程在In-App Purchasing Programming Guide中有描述。

当您的应用被终止时会发生什么取决于您在购买过程中所处的阶段。

  • 如果尚未提交付款请求,则您无需执行任何操作;不会向用户收费,也不会记录任何交易,您也不需要采取任何进一步的行动。

  • 如果您已提交付款请求但用户尚未授权付款(通过密码或 TouchID 授权付款的提示由 iOS 在您的应用程序外部显示),则不会记录任何交易或交易可能以“失败”状态报告给您的交易观察员。无论哪种方式,都不会向用户收费,您也不需要采取任何进一步的行动。

  • 如果用户已授权交易,但交易尚未提交给您的交易观察者,或者您的应用尚未调用 finishTransaction,则交易将重新提交给您下次执行您的应用程序时的事务观察器。这就是为什么在您的应用程序逻辑中完成购买(解锁功能、增加用户余额或其他)之前,您的应用程序不调用 finishTransaction 很重要

因此,总而言之,没有取消购买流程的方法,如果您已正确实现交易观察器和购买逻辑,则无论如何都没有必要。

关于ios - 应用程序被杀死时取消应用程序内购买过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481425/

相关文章:

iphone - 用 for 循环中的数据填充 NSMutableArray

ios - 用户通过 iOS6 "tweet sheet"发推后触发一个 Action

ios - 如何在 willDisplayCell 方法中配置 UITableViewCell?

ios - 我的应用内购买如何满足批量购买计划?

ios - 对于这种情况,我应该使用 Google 应用内购买还是 Google Pay?

ios - Emoji 字符无法编码为 JSON

ios - 无法在包 : 'NSBundle - TableView 中加载 NIB

ios - Swift 1.2 - 在 Xcode 6.3.2 和 Xcode 4 中找不到桥接头文件消息

iphone - UITableViewCell 的默认字体大小

ios - 无法在 iTunes Store 中创建每年自动续订订阅