如何保留In App Purchase?

How to keep In App Purchase?

所以我正确地实施了应用内购买,但我遇到了问题。一旦我在我的应用程序中解锁了一个功能,例如横幅或标签,我不知道如何在我关闭应用程序后让它留在屏幕上。

当我重新打开应用程序时,我必须再次单击购买按钮并完成整个过程才能将其恢复。

如何让购买的物品保持有效,而不是再次经历这个过程?

有很多方法可以解决这个问题。最简单的解决方案是使用 NSUserDefaults。像这样的事情应该让你开始正确的方向:

// this goes in the success callback of the IAP code.
if(purchaseWasSuccessful) {
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setBool:YES forKey:@"IAP_ITEM_1_PURCHASED"];
}

然后,当您启动您的应用程序时,或者在显示您购买的内容的特定视图控制器的 viewWillAppear 方法中,您可以简单地执行如下操作:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if([userDefaults boolForKey:@"IAP_ITEM_1_PURCHASED"]){
    // You know the item was purchased, so display your purchase here.
}

// Or, the inverse is just as easy:
if([userDefaults boolForKey:@"IAP_ITEM_1_PURCHASED"] == NO){
    // You know the item has NOT been purchased,
    // so display your banner to prompt them here.
}