我正在尝试将NavigationBanner iAdSuite示例实现到我的项目中,以便我可以AdBannerView跨多个视图控制器共享单个实例,但我不断收到以下错误:
错误域= ADErrorDomain代码= 2"操作无法完成.加载受限制
我已将相关代码完全从当前的iAdSuite复制到我自己的应用程序中,并收到此错误.实际上,这个错误在Apple自己的NavigationBanner的iAdSuite示例中是可重复的(这是我试图实现的示例).通过添加以下内容可以看到错误:
NSLog (@"%@",error);
Run Code Online (Sandbox Code Playgroud)
至:
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
Run Code Online (Sandbox Code Playgroud)
要复制问题,iAdSuite请执行以下操作:
这对我的应用程序来说是一个问题,因为我想在没有连接的情况下隐藏iAd,然后在连接恢复后重新显示它.如果应用收到限制错误,那么在收到其他广告之前会有很长时间的延迟.
如何避免节流错误?我认为bannerView需要被删除然后重新添加,但无法弄清楚如何正确地执行此操作.
最后要注意的是,当前的iAdSuite使用ARC而我的应用程序却没有.即便如此,我的app和iAdSuite也会出现错误.
升级到Lion后,Xcode 4.1不再构建我的iOS应用程序,其中包含最新的更改(即代码,包名称,图标更改).
在升级之前,当我使用Snow Leopard时,无论发生什么变化,或者即使我用Finder替换Xcode之外的文件或使用外部文本编辑器,Xcode总是会构建一个包含所有更改的新副本,无需做任何额外的步骤.
现在,Xcode似乎坚持使用以前的版本,并且我可以确定它将构建所有更改的唯一方法是从主菜单执行Product> Clean然后重新启动Xcode.
这里发生了什么?我缺少一个简单的设置吗?我从来没有做过任何事情,除了当我在Snow Leopard上时点击Run,并且所有更改总是在没有故障的情况下合并.如果我无法解决这个问题,我将恢复雪豹.