删除 iAD 后无法实例化名为 ADBannerView 的类



奇怪的事情,我花了大约 4 个小时调试:由于未捕获的异常"NSInvalidUnarchiveOperationException"而终止应用程序,原因:"无法实例化名为 ADBannerView 的类"

我曾经有iAD,然后删除了它。现在我使用Google AdMob。

我设置了宏来确定免费/付费版本。在应该显示广告的免费版本上,一切都很好,它会显示AdMob广告。

在不调用任何广告的付费版本中,我收到此错误:由于未捕获的异常"NSInvalidUnarchiveOperationException"而终止应用程序,原因:"无法实例化名为 ADBannerView 的类"

唯一能想到的是,我可能在某处有一个旧的iAd横幅视图,但我找不到它!

有什么提示吗?

另外:模拟器上一切正常。

您是否检查以确保Interface Builder中没有ADBannerViews?您看到的错误类型表明该应用程序正在尝试在某处创建一个。

有根据的猜测:

您是否正在使用 UI 状态保存和恢复 API?如果是这样,则从application:shouldSaveApplicationState:返回NO以摆脱当前保存的状态。

一旦起作用,您应该实施某种还原版本检查,以防止用户设备上崩溃。

如果这不起作用,或者您没有使用状态还原,请尝试从设备中删除该应用。如果从 Xcode 部署,则只会添加文件,绝不会删除文件。因此,旧文件可能引用了 ADBannerView。删除应用程序以摆脱此类孤儿文件。

编辑:该链接应将你转到"对版本信息以及应用的其余状态进行编码"部分。它没有,但您会在页面底部找到有关版本检查的小信息。

最新更新