我有一个 GLKViewController 子类实现,以 ADBannerView 作为子视图。广告加载并呈现得很好。OpenGL 应用程序也可以正常工作。当您单击广告时,会出现弹出窗口。GLKViewController 启用了默认的暂停辞职行为。
如果您在 GLKViewController 的 setPaused 上设置断点,您会注意到如果您在广告弹出窗口可见时切换离开您的应用(双击主页并选择另一个应用) ,则会调用 setPaused:NO。仅当 ADBannerView 弹出窗口可见时才会发生该行为,否则不会在您切换离开应用程序时发生。
即使是在 iOS 9.1 中由 Xcode 7 生成的默认 OpenGL 模板应用程序,我也能够重现上述行为。
1)这是正常的吗?
2) 对我来说,这会导致一致的可重现崩溃,因为在调用 setPaused:NO 之后,会重新绘制 GLKViewController,这会导致 OpenGL 操作在应用程序处于后台时发生。该应用程序此时(正确地)被杀死。