【发布时间】:2017-08-28 16:13:47
【问题描述】:
我正在开发一款我不想制作的应用,包括带有广告横幅的免费版本和不带广告横幅的付费版本。
我的想法是使用带有标志的#if 语句来指示何时显示广告横幅。
我所做的如下:
创建了两个目标,一个用于付费版本,一个用于免费版本。 像这样为免费版本目标创建一个标志:
在viewDidLoad 方法中我添加了以下代码:
#if FREE
bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
self.view.addSubview(bannerView)
bannerView.frame = CGRect(x: 0.0, y: self.view.frame.size.height - bannerView.frame.size.height, width: bannerView.frame.size.width, height: bannerView.frame.size.height)
bannerView.adUnitID = ...
bannerView.rootViewController = self
bannerView.delegate = self
bannerView.load(GADRequest())
#endif
当我选择免费版本并运行代码时,它不会显示广告横幅。任何帮助表示赞赏,谢谢。
【问题讨论】:
-
您使用的是发布方案吗?因为看起来您只为 Release 设置了标志。默认情况下,Xcode 会将应用程序作为 Debug 运行。
-
使用#if DEBUG 作为调试条件,如果不在调试中,则在发布中
-
它作为调试运行,现在它工作正常,我觉得很愚蠢。谢谢! :)
-
为什么要使用构建标志?这意味着您需要两个版本 - 一个免费版本,带有.... IAP?所以他们购买了它——然后呢? (特别是如果他们是从免费应用程序购买的。)多年来已经确立了如何处理此问题的方法。 (我可能会添加一些关于 IAP 的教程。)没有人为此目的使用构建标志。现在,在查看了一些 IAP 教程(提示,他们大多使用
UserDefaults)之后,您可能需要了解为什么您还需要*恢复购买。