我在iOS应用程序上测试了应用内购买,但遇到了问题。当我在沙盒模式下从我的测试用户帐户购买所有内容后删除应用程序,然后从xcode在设备上再次运行它时,购买不会显示。如果我再次尝试购买,它说你已经买了它,你想免费获得它们吗?这是正常的吗?或者它应该在再次安装时自动获得所有购买?请回复此查询。
答案 0 :(得分:2)
这些消息是正常的,如果您购买的东西,如果再次购买则不需要购买。 此外,您还需要添加一个按钮来恢复以前的购买。
您可以通过restoreCompletedTransactions
SKPaymentQueue
来恢复购买
答案 1 :(得分:2)
是的,这很正常。正如@rckoenes所说,你需要添加“恢复”按钮。
如果您使用MKStoreKit 叫这个方法 -
[[MKStoreManager sharedManager] restorePreviousTransactionsOnComplete:^{} } onError:^(NSError *error) {}];
在完成程序栏中再次检查
if([[MKStoreManager sharedManager]isFeaturePurchased:kInAppPurchaseProductId])
这样您就可以检查某人是否已购买或只是按恢复以免费获得产品;)
有一个很棒的视频,介绍了恢复按钮的位置和方法。
In-app Purchase WWDC< - 从27:30开始