如何在不需要时真正关闭iAd?

时间:2011-09-12 13:15:43

标签: iphone ios iad

我正在使用iAd构建付费应用和随附的精简版。付费版本现在然后在日志中显示此错误:

2011-09-12 15:05:24.751 [29318:12b03] ViewController :: bannerView didFailToReceiveAdWithError(NO ADS):错误Domain = ADErrorDomain Code = 3“操作无法完成。广告资源不可用”UserInfo = 0x61d0b60 {ADInternalErrorCode = 3,NSLocalizedFailureReason =广告资源不可用}

我对这种情况感到有些惊讶,因为我这样做是为了在付费版本中停止iAds:

[iAdBannerView removeFromSuperview];
iAdBannerView.hidden = YES;
// (not setting) iAdBannerView.delegate = nil; 
iAdBannerView = nil; 

我无法在我的应用中删除对iAds的每个引用,因为我在笔尖中有iAd横幅,而且我更喜欢为其中的所有内容添加一个笔尖,对于这两个应用版本。因此,我的二进制文件中的iAd框架

那么,任何人都知道如何真的停止iAds系统启动你的应用程序不应该?

2 个答案:

答案 0 :(得分:0)

如果要向AppStore提交两个单独的应用程序,我会认真考虑为每个Xcode和用户条件编译创建一个单独的目标。

这样的事情:

#ifdef FREE_VERSION

// Create iAd Banner

// add banner to superview

#endif // FREE_VERSION

这样,您的付费版本甚至不必链接到iAd框架,也不会冒着付费用户看到广告的风险,因为您在应用中引入了错误。

答案 1 :(得分:0)

您可以使用预处理程序命令从应用程序的付费版本中删除iAd。

在您的prefix.pch中,您可以包含以下内容:#define FREE_VERSION 1

然后在您引用iAd的所有地方,用#if FREE_VERSION#endif

围绕它