【发布时间】:2014-01-19 18:37:16
【问题描述】:
我在我的 iOS 应用程序上测试了应用内购买,但遇到了问题。当我在沙盒模式下从我的测试用户帐户购买所有东西后删除应用程序,然后从 xcode 在设备上再次运行它时,购买不显示。如果我再次尝试购买,它说你已经购买了,你想免费获得它们吗?正常吗?还是应该在再次安装时自动获得所有购买?请回复此问题。
【问题讨论】:
标签: ios in-app-purchase itunes
我在我的 iOS 应用程序上测试了应用内购买,但遇到了问题。当我在沙盒模式下从我的测试用户帐户购买所有东西后删除应用程序,然后从 xcode 在设备上再次运行它时,购买不显示。如果我再次尝试购买,它说你已经购买了,你想免费获得它们吗?正常吗?还是应该在再次安装时自动获得所有购买?请回复此问题。
【问题讨论】:
标签: ios in-app-purchase itunes
是的,这很正常。正如@rckoenes 所说,您需要添加“恢复”按钮。
如果您使用的是MKStoreKit 调用这个方法 -
[[MKStoreManager sharedManager] restorePreviousTransactionsOnComplete:^{} } onError:^(NSError *error) {}];
在完成块中再次检查
if([[MKStoreManager sharedManager]isFeaturePurchased:kInAppPurchaseProductId])
这样您就可以检查是否有人已经购买或只是按恢复来免费获得产品;)
有一个很棒的视频,介绍了在何处以及如何放置恢复按钮。
【讨论】:
消息是正常的,如果你买了东西你就不必再购买了。 您还需要添加一个按钮来恢复以前的购买。
您可以通过在SKPaymentQueue 上致电restoreCompletedTransactions 来恢复购买
【讨论】: