如何在我的Cordova / Phonegap应用程序中只允许这些方向?

时间:2015-08-05 11:08:14

标签: ios xcode cordova

我使用Cordova创建了一个iOS(iPhone)应用程序,并且只想允许以下方向:

  • 肖像
  • 左侧风景
  • 风景正确

这也意味着"倒挂" 不允许

XCode screenshot device orientation

我知道我可以在Xcode中设置它,但是当我开始新的Cordova构建时,此设置会被覆盖。

所以我检查了Cordova文档并找到了这个:http://cordova.apache.org/docs/en/5.1.1/config_ref_index.md.html#The%20config.xml%20File

它说我可以在config.xml中设置方向如下:

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

但我不知道如何设置更精细的粒度设置,如上所述。怎么办呢?

注意:我在Cordova 5.1.1上

2 个答案:

答案 0 :(得分:6)

您可以使用after_prepare挂钩,它将在method="dl"之后应用设置,从而避免在每个cordova prepare上覆盖它们。将以下代码放在cordova build

<your_project>/hooks/after_prepare/some_file.js

注意:如果您还没有安装plistxml2js节点模块,则需要安装它们。

答案 1 :(得分:4)

您可以使用config.xml'

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

以及docs中所述的shouldRotateToOrientation(degrees)回调,如下所示:

onDeviceReady: function() {
    app.receivedEvent('deviceready');
    window.shouldRotateToOrientation = function(degrees) {
        return degrees !== 180;
    };
},