У меня есть реализация подкласса GLKViewController с ADBannerView как подвью. Реклама загружается и отображается просто отлично. Приложение OpenGL также отлично работает. Когда вы нажимаете на объявление, появляется всплывающее окно. GLKViewController имеет включенное по умолчанию действие pause-on-resign.iOS: Переключение приложений после пользовательских кликов ADBannerView вызывает сбой OpenGL
Если установить точку останова на setPaused GLKViewController, вы заметите, что setPaused: НЕТ вызывается, если вы переключаете от вашего приложения (дважды нажмите домой и выбрать другое приложение) в то время объявления всплывающее окно видна. Поведение происходит только тогда, когда всплывающее окно ADBannerView видимо, а не в случае отказа от приложения.
Я могу воспроизвести описанное выше поведение даже с использованием стандартного приложения шаблона OpenGL, созданного Xcode 7 в iOS 9.1.
1) Это нормально?
2) Для меня это вызывает согласованные воспроизводимые сбои, потому что после setPaused: вызывается NO, GLKViewController перерисовывается, что вызывает операции OpenGL, когда приложение находится в фоновом режиме. Приложение (правильно) убито в этот момент.