La image que iOS muestra cuando la aplicación entra en segundo plano aparece boca abajo cuando se ve en modo vertical

Estoy construyendo una aplicación de iOS que solo es Paisaje. Cuando mi aplicación entra en segundo plano, la image que iOS muestra en la list de aplicaciones multitarea aparece desorderada. Se muestra la image del paisaje al revés en el modo vertical.

No estoy haciendo nada específico en applicationWillResignActive y applicationWillEnterForeground .

Aquí hay una image que muestra el problema.

Captura de pantalla que muestra la lista de aplicaciones que se ejecutan actualmente

Solo he permitido el modo Horizontal para mi aplicación configurándolos en Propiedades generales y en los files Info.plist como se muestra a continuación:

Propiedades generales de la aplicación que muestran la orientación del dispositivo bloqueada en solo Paisaje.

Archivo Info.plist:

Archivo Info.plist que muestra las orientaciones compatibles para la aplicación.

Parece que una de las bibliotecas de anuncios de terceros está causando el error. El problema no ocurre en la versión sin publicidad de la misma aplicación. ¿Hay algo que pueda hacer para evitar que las bibliotecas de terceros causen este desastre?

Por lo tanto, estoy usando iAd y AdMob junto con adaptadores para soportar la mediación (para admitir InMobi, MobFox y Millennial Media).

¿Hay algo que pueda hacer para arreglar esto?

Una solución consiste en eliminar el anuncio de superview en applicationWillResignActive y volver a agregarlo en applicationDidBecomeActive (preferiblemente haciendo uso de NSNotifications).

Entonces, eliminarlo se vería así:

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { [self.adBanner removeFromSuperview]; } 

Y agregándolo:

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { [self.view addSubview:self.adBanner]; [self.view addConstraints:@[self.adXConstraint, self.adYConstraint]]; } 

Esta es una nueva. La única manera que sé de dónde puede afectar la instantánea multitarea es search antecedentes en los que llame al manejador de finalización que se le proporcionó en una callback de background.

Hice una testing rápida en una de mis aplicaciones al bloquearla en modo horizontal y no hizo esto. ¿Cómo bloqueas tu aplicación en el paisaje? ¿Estás usando la pestaña "General" debajo de la configuration del objective del proyecto? Hay una sección en la que puede configurar la orientación de su aplicación.

En mi opinión, un truco en su código para bloquear la orientación puede causar este tipo de comportamiento.