我正在使用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系统启动你的应用程序不应该?
答案 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