cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "napcat (JIRA)" <>
Subject [jira] [Commented] (CB-9703) iPad orientations can no longer differ from iPhone
Date Wed, 25 Nov 2015 11:52:10 GMT


napcat commented on CB-9703:

I have a plugin in my app just to write some settings on plist. Some of that settings are
the orientations for iphone and ipad.
Unfortunately it seems there's a bug on cordova that remove the orientations after a build
or run command.

This solution seems a good one.

    <platform name="ios">
    <config-file target="*-Info.plist" parent="NSAppTransportSecurity">

    <config-file target="*-Info.plist" parent="UIStatusBarHidden">

    <config-file target="*-Info.plist" parent="UIViewControllerBasedStatusBarAppearance">

    <config-file target="*-Info.plist" parent="UISupportedInterfaceOrientations">

<config-file target="*-Info.plist" parent="UISupportedInterfaceOrientations~ipad">


    cordova platform add ios
the plugin is added and the plist is successfully written with the correct orientations and
the other settings.

   cordova build ios
the plugin adds successfully the other settings but orientations are delete/ erased from plist.

   cordova run ios
the plugin adds successfully the other settings but orientations are delete/ erased from plist.

I made a simple project for testing purpose.
The project has some hooks that installs plugins (from npm and a local plugin that contains
the plugin.xml with the above settings).
On a platform add plugin should be able to add all the settings in plugin.xml to the plist
On a build or run command, the orientations settings will be ignored/overwritten probably
by cordova ignoring the change done by plugin.xml.

Testing project:

> iPad orientations can no longer differ from iPhone
> --------------------------------------------------
>                 Key: CB-9703
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CordovaLib
>    Affects Versions: 5.0.1, 5.1.2, 5.2.0, 5.1.1, 5.3.2
>         Environment: iOS
>            Reporter: Christoph Neumann
> The change introduced in 93ab6b61 means that iPhone and iPad orientation values will
always be the same. Unfortunately, a universal iOS project defaults to a portrait orientation
for iPhone and all orientations for iPad. Because the Cordova "default" for Orientation in
config.xml clears all orientation settings, there is no way to get a standard behavior of
having separate defaults for iPhone and iPad.
> Some ideas:
> 1. Make "default" actually match what Apple uses as default because clearing out all
the flags is *not* truly default behavior.
>   <preference name="Orientation" value="default" />
> 2. Add a platform-specific preference for iPad.
>   <platform name="ios">
>     <preference name="Orientation~iphone" value="portrait" />
>     <preference name="Orientation~ipad" value="all" />
>   </platform>

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message