ios - 如何在整个应用中进行应用内购买? (从多个 View 中删除广告)

标签 ios swift in-app-purchase iad restore

我已经为应用程序内购买编写了我的代码来删除广告并且它可以完美地工作,除了它只适用于我从中删除广告的 View Controller 。我希望它贯穿我的整个应用程序。我该怎么做?

更好的理解:

我在我的应用中的几个 View Controller 上有广告。我有一个信息 View Controller ,您可以在其中购买去除广告的费用。问题是:它不会转移到我的其他 View ,就好像我回到菜单 View Controller 一样。此外,当我返回信息 View 时,它仍然有广告,直到我从购买中恢复。我不希望用户不断恢复购买。如何让它发挥作用?

最佳答案

正如@user523234 在评论中提到的,您应该使用 NSUserDefault 来存储与您的 IAP 购买相对应的值。

在此示例中,我们使用 NSUserDefaults 来检查键 removeAds 是真还是假,YESNOif 语句将始终为真,直到您将键设置为 YES。有关 NSUserDefaults 的更多信息,请参阅 NSUserDefaults Class Reference .

// Create this globally
NSUserDefaults *defaults;

// Setup your NSUserDefaults in your viewDidLoad for example
defaults = [NSUserDefaults standardUserDefaults];

// Check If IAP Has Been Purchased
if (! [defaults boolForKey:@"removeAds"]) {
    // NOT purchased
}

// Upon the successful purchase of your IAP you set the key to YES
[defaults setBool:YES forKey:@"removeAds"];
[[NSUserDefaults standardUserDefaults] synchronize]; // Save your changes

关于ios - 如何在整个应用中进行应用内购买? (从多个 View 中删除广告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31769235/

相关文章:

ios - 从 Swift 2.2 升级到 Swift 3.0 后, `continue` 的使用不明确

ios - 未调用 cellForRowAtIndexPath,行数、节数和单元格高度返回正确

android - 应用内计费安全和设计问题

ios - 如何识别触发单个 Storyboard转场的众多按钮中的哪个按钮

ios - UIImageView 图片旋转

ios - 点击 SwiftUI 时从列表中删除

ios - 如何使用 swift 生成可搜索的 PDF

ios7 - NSLayoutConstraints 在 ios7 上崩溃但在 ios8 上没有

iOS 应用内购买沙箱服务器需要 SKReceiptRefreshRequest 的登录凭据

swift - 为什么我的应用内购买无法购买该产品?