我花了大约4个小时调试的奇怪之处: 由于未捕获的异常'NSInvalidUnarchiveOperationException'而终止应用程序,原因:'无法实例化名为ADBannerView的类'
我曾经拥有iAD然后将其删除。现在我使用Google AdMob。
我已设置宏以确定免费/付费版本。在应该展示广告的免费版本上,一切都很好,它会显示AdMob广告。
在没有调用任何广告的付费版本中,我收到此错误:由于未捕获的异常'NSInvalidUnarchiveOperationException'而终止应用,原因:'无法实例化名为ADBannerView的类'
我唯一能想到的是我可能在某个地方有一个旧的iAd Banner View,但我找不到它!
任何提示?
另外:在模拟器上一切正常。
答案 0 :(得分:0)
您是否检查过以确保Interface Builder中没有ADBannerView?您看到的那种错误表明该应用正在尝试在某处创建一个。
答案 1 :(得分:0)
受过教育的猜测:
您使用的是UI State Preservation&恢复API?如果是,则从application:shouldSaveApplicationState:
返回NO以消除当前保存的状态。
一旦有效,您应该实施某种恢复version checking以防止用户设备崩溃。
如果这不起作用,或者您没有使用状态恢复,请尝试从设备中删除该应用。如果从Xcode部署文件仅添加,则永远不会删除。因此,旧文件可能引用ADBannerView。删除应用程序以删除此类孤立文件。
编辑:该链接会将您带到“编码版本信息以及应用程序的其余状态”。部分。它没有,但您会在页面底部找到有关版本检查的小信息。