移除所有iAd应用程序范围?

时间:2015-05-13 21:10:07

标签: ios swift in-app-purchase iad

我已添加应用内购买以移除iOS应用的iAd。

一旦购买了removeAds产品,我就把它放在逻辑中(这肯定会触发):

func removeAds() {
    defaults.setObject("True", forKey: "remove_adverts")
    self.canDisplayBannerAds = false
    self.removeAdButton.enabled = false
    println("removed")
}

我已经把它放在每个控制器的顶部来处理它。

if let showAds = defaults.dataForKey("remove_adverts") {
    self.canDisplayBannerAds = false
    self.removeAdButton.enabled = false
    println("Ads shouldn't show")
} else {
    self.canDisplayBannerAds = true
}

但广告仍然显示。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

当您检查用户是否已购买IAP以删除此行dataForKey中的广告时,如果您要检查objectForKey,则会检查setObject,因为您在设置default值时使用setBool。或者,您可以使用func removeAds() { defaults.setBool(true, forKey: "removeAdsPurchased") self.canDisplayBannerAds = false println("iAd removed and default value set") defaults.synchronize() } ,因此您的代码看起来像这样:

    let showAds = defaults.boolForKey("removeAdsPurchased")
    if (showAds) {
        // User purchsed IAP
        // Lets remove ads
        self.canDisplayBannerAds = false
        println("iAd removed")
    } else {
        // IAP not purchased
        // Lets show some ads
        self.canDisplayBannerAds = true
        println("Showing iAd")
    }

"[{"message":"Valid user!","status":true}]"