Recientemente cambié de Phongegap Build a cordova localmente. No puedo por mi vida averiguar cómo conseguir la orientación en iOS para permitir todo. Me está volviendo loca.

Probé todos los métodos documentados en la configuración, como:

<platform name="ios">
    <preference name="orientation" value="all" />
</platform>

Pero eso no funciona. También intenté configurar manualmente los atributos plist a través de un complemento, pero eso tampoco parece funcionar. ¿Que me estoy perdiendo aqui? Cuando abro el archivo .ipa, el plist allí solo tiene lo siguiente para los atributos de orientación:

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>

Según tengo entendido, debería haber cuatro así:

<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
0
gabaum10 16 ago. 2016 a las 23:32

2 respuestas

La mejor respuesta

Los nombres de las preferencias no distinguen entre mayúsculas y minúsculas, la entrada correcta debe ser:

<preference name="Orientation" value="all" />

Docs: http://cordova.apache.org/docs/en /dev/config_ref/index.html#preference

Cordova-custom-config es excelente si necesita valores específicos para iPad y iPhone.

1
Joerg 16 ago. 2016 a las 21:47

Puede usar el complemento cordova-custom-config para lograr esto, después de instalar el complemento en su proyecto local agregue lo siguiente a su config.xml:

<platform name="ios">

    <!-- Set orientation on iPhone -->
    <config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations">
        <array>
            <string>UIInterfaceOrientationPortrait</string>
            <string>UIInterfaceOrientationPortraitUpsideDown</string>
            <string>UIInterfaceOrientationLandscapeLeft</string>
            <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
    </config-file>

    <!-- Set orientation on iPad -->
    <config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations~ipad">
        <array>
            <string>UIInterfaceOrientationPortrait</string>
            <string>UIInterfaceOrientationPortraitUpsideDown</string>
            <string>UIInterfaceOrientationLandscapeLeft</string>
            <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
    </config-file>

Debería poder ver que las orientaciones relevantes están configuradas en el plist si abre el proyecto en XCode.

1
DaveAlden 16 ago. 2016 a las 20:44