PhoneGap:iOS下的设备方向

Posted

技术标签:

【中文标题】PhoneGap:iOS下的设备方向【英文标题】:PhoneGap: Device orientation under iOS 【发布时间】:2015-04-09 21:58:06 【问题描述】:

我使用以下方法创建了一个新的 PhoneGap 应用

phonegap create hello-world com.hello.world HelloWorld

使用 PhoneGap 4.2.0-0.25.0。但是,我无法在 iPhone 或模拟器上将视口方向更改为横向。我在 config.xml 中尝试了以下两种方法。

<preference name="orientation" value="default" />

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

我仍然无法在横向模式下使用该应用程序。 (当然,我禁用了 iPhone 上的任何旋转锁定。)

有人知道怎么解决吗?

【问题讨论】:

【参考方案1】:

我刚刚试了一下,效果很好。请务必在 XCode 中设置正确的选项,如下所示:

在你这样做之前,你要建立一个像这样的清晰项目 ->

    cordova create OrientationChange com.example.com OrientationChange cd OrientationChange cordova platform add ios cordova plugin add org.apache.cordova.console(你不需要这个来改变方向,但它对调试很有用)。 cordova build

在 XCode 中运行项目(6.3 是实际版本)并试一试 - 它应该可以工作!

如果您需要进一步的帮助,请告诉我!

【讨论】:

你说得对,我必须在 Xcode 中编辑设备方向选项,现在它可以工作了。非常感谢!【参考方案2】:

正如上述用户所说,您可以在您的 Xcode 项目中简单地更改它。然而,这似乎是一个尚未在 Cordova 中修复的错误,因为 Orientation 设置应该根据 Cordova 文档进行设置。

http://cordova.apache.org/docs/en/4.0.0/config_ref_index.md.html#The%20config.xml%20File

我遇到了一个问题,即必须重新构建已发布的项目,而我忘记在 Xcode 项目本身中修改这些设置,导致已发布的项目没有轮换功能。请记住这一点。

【讨论】:

看起来这个问题已在 Cordova 5.4.1 中得到修复。我现在可以使用“所有”方向偏好来支持所有方向。【参考方案3】:

特定于科尔多瓦:

ios 中名为 appDelegate.m 的文件,其中设置了方向 在代码中完成 ios 应用程序只需更改该方向即可 修复问题,在IOS9上测试过

【讨论】:

以上是关于PhoneGap:iOS下的设备方向的主要内容,如果未能解决你的问题,请参考以下文章

我的 iOS 应用程序可以使用 PhoneGap(构建与 xCode)的大小?

为啥 PhoneGap 总是显示默认的启动画面?

在启动时加载外部链接的 Phonegap 应用程序 - Android

Phonegap - 以度数和磁场为单位的设备方向

在使用 phonegap 触发事件之前检测方向变化

Cordova/Phonegap - 风景