ios - developer - apple app center
iOS 9: advertencia "Todas las orientaciones de la interfaz deben ser compatibles a menos que la aplicaciĆ³n requiera pantalla completa" para la aplicaciĆ³n universal (5)
De hecho, fue demasiado fácil ... Es por eso que ni siquiera lo he intentado:
Configurar el Portrait
para la orientación del dispositivo no afecta la orientación del iPad.
Esto significa que la sección de Orientación del dispositivo debe renombrarse como Orientación del iPhone , de hecho, con esa configuración, el iPhone solo admite el Portrait
y el iPad es compatible con todos ellos. Y la pantalla dividida todavía está permitida ya que no hemos marcado Requires full screen
.
PD: Al menos en Xcode 8.3.1, no lo he probado en Xcode 7.x
Estoy trabajando en una aplicación universal con todas las orientaciones en iPad y solo retrato en iPhone. La aplicación funciona bien con la multitarea de pantalla dividida en iPad compatible con iOS 9, pero tengo esta advertencia:
All interface orientations must be supported unless the app requires full screen
Y mi aplicación no requiere pantalla completa. Solo está limitado al retrato en iPhone ... ¿No debería estar bien? ¿Hay alguna manera de declarar Requiere pantalla completa solo en iPhone?
Gracias por adelantado
Por cierto estoy usando Xcode 7.3.1
La solución a esto es usar "Teclas específicas del dispositivo": https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW9
Sus valores plist se verían así:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIRequiresFullScreen~ipad</key>
<false/>
Cuando UIRequiresFullScreen
la versión específica de iPad de la clave UIRequiresFullScreen
, pierdo la funcionalidad de pantalla dividida completa; solo está disponible la función "deslizar sobre" porque eso no afecta el uso que hace mi aplicación de la pantalla completa del dispositivo.
Las casillas de verificación "Device Device" son para los valores de plist predeterminados. La única forma en que no afectarían la aplicación en el iPad es si hay un valor más específico en el plist, por lo tanto, un valor específico para iPad.
Cuando el sistema busca una clave en el archivo Info.plist de su aplicación, elige la clave más específica para el dispositivo y la plataforma actuales.
Para su caso, puede usar: UISupportedInterfaceOrientations ~ iphone.
Cambie la sección UISupportedInterfaceOrientations en Info.plist a:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~iphone</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
Esta combinación no produce advertencias.
Vaya a la pestaña Ubicaciones de las Preferencias, ubique la carpeta de datos derivados del proyecto y elimine los archivos relacionados con el proyecto.