如何使用Swift中的应用内购买从多个视图中删除广告(已在1视图中工作)

时间:2015-01-01 14:53:01

标签: ios xcode swift in-app-purchase iad

我正在制作我的第一个游戏应用,现在我正在进行应用内购买,这样您就可以从应用中删除广告。一切都运作良好,但购买后它只会从“主屏幕”中删除广告,而不是从“游戏屏幕”和“屏幕上的游戏”中删除。 如何在购买后从所有屏幕中删除广告?

这是我的“主屏幕”中的代码/您启动应用时看到的第一个屏幕。

 @IBOutlet weak var outRemoveAds: UIButton!

    override func viewDidLoad() {
    super.viewDidLoad()

    outRemoveAds.enabled = false

// THIS IS THE CODE I USED FOR THE iAD BANNER

// Init iAd banner ======

    _adBanner = ADBannerView(frame: CGRectMake(0, self.view.frame.size.height-50, 320, 50) )
    _adBanner?.backgroundColor = UIColor.clearColor()
    self.view.addSubview(_adBanner!)

// AND AFTER PURCHASE IT DOES THIS

func removeAds() {
        _adBanner?.removeFromSuperview()
        _bannerIsVisible = false

    }

但正如我所说,它只会将其从当前视图/屏幕中删除,而不是从其他2个屏幕中删除。

1 个答案:

答案 0 :(得分:0)

没有足够的代码来查找问题,但首先必须设置

_adBanner = nil

之后

_bannerIsVisible = false

让垃圾收集器删除该对象(当你强烈引用它时,它不能删除它)。 你确定你对所有三个控制器使用相同的视图吗?或者您是为每个视图创建单独的控制器?如果是这样,您应该在

中检查广告的移除情况
viewWillAppear

每个控制器的方法。