如何在cordova config.xml中为通用应用程序设置iOS方向?

时间:2015-04-28 20:49:07

标签: cordova ionic-framework

我有一个通用的应用程序,只想要iPhone的纵向和iPad的横向。我不相信我能做到,

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

因为我无法看出它如何区分手机和平板电脑。目前我已经在根目录中获得了这个:

...
<platform name="ios">
    <config-file target="foo-Info.plist" platform="ios" parent="UISupportedInterfaceOrientations">
        <array>
            <string>UIInterfaceOrientationPortrait</string>
            <string>UIInterfaceOrientationPortraitUpsideDown</string>
        </array>
    </config-file>

    <config-file target="foo-Info.plist" platform="ios" parent="UISupportedInterfaceOrientations~ipad">
        <array>
            <string>UIInterfaceOrientationLandscapeLeft</string>
            <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
    </config-file>
...
</platform>
...
  1. 为什么不更新我的应用程序的foo-Info.plist?我尝试了cordova build ios并尝试了cordova prepare命令,但都没有更新plist文件。
  2. 这些更改何时生效?当我添加ios平台?当我做cordova build ios时?
  3. 如果你知道怎么做,我还需要这个适用于Android手机和平板电脑。

1 个答案:

答案 0 :(得分:-1)

您不必在此处对您的应用名称进行硬编码:

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

要使其工作,请创建hooks/after_prepare/011_update_platform_config.js文件,从here获取内容。

安装一些npms:

npm install lodash elementtree plist

ionic runionic buildionic prepare命令应更新您的项目文件。

有关详细信息,请查看this topic

P.S。:你应该有充分的理由在iPhone上使用颠倒的方向,否则对用户来说是一种痛苦(对iBooks你好)。