如何使用 Cordova 6 在 iOS 中关闭“需要全屏”选项?
Posted
技术标签:
【中文标题】如何使用 Cordova 6 在 iOS 中关闭“需要全屏”选项?【英文标题】:How to turn off "Requires Full Screen" option in iOS using Cordova 6? 【发布时间】:2017-02-13 10:22:09 【问题描述】:当您使用 Cordova 6 创建应用程序,然后为 ios 构建它时,您会看到如果您在 XCode 上打开项目属性,则启用了“需要全屏”选项:
这很麻烦,因为它会阻止应用在 iOS 上“多任务处理”(您无法在应用打开的情况下分屏),如 [CB-9161] Support iPad multitasking in iOS 9 中所述:
只想提一下,修复(2)还需要更新项目的 info plist 文件以指示应用程序不需要全屏 如下图
<key>UIRequiresFullScreen</key> <false/>
在以前的 Cordova 版本中,您可以使用 FullScreen
首选项控制此选项。但是,这不再对 iOS 产生影响。推荐的替代方法是使用cordova-plugin-statusbar 插件。但这并没有提供任何关闭全屏的选项,并且插件提供的其他选项也不允许多任务处理。
问题:如何从 Cordova 6 项目中关闭“需要全屏”选项(意思是:在为 iOS 构建后无需手动更新 XCode 项目)?
【问题讨论】:
我想添加我们的应用最近被拒绝了,因为它是全屏的,并且“拉显示状态栏”功能没有实现。 【参考方案1】:我会使用Cordova Custom Config plugin
使用该插件,您几乎可以通过config.xml
更改plist
或manifest
file 上的任何内容
所以在你的情况下,安装插件后,只需添加:
<config-file parent="UIRequiresFullScreen" platform="ios" target="*-Info.plist">
<false/>
</config-file>
在你的config.xml
【讨论】:
我无法使用 Visual Studio Tools for Apache Cordova 正确安装 cordova-custom-config 插件。所以我改用了cordova-plugin-settings-hook插件,也达到了同样的效果。 其实我还没有测试过,但我们可能不再需要安装插件来实现它。 Cordova 添加了对“config-file”的原生支持:cordova.apache.org/docs/en/6.x/plugin_ref/spec.html#config-file 如果您将该标志设置为 false,Apple 将拒绝您的应用,从 iOS 11 开始。我想这是由于 iPhone X。 您的意思是,如果您不要求全屏,Apple 会拒绝该应用程序? 我的应用被拒绝了,因为我提交时未选中“需要全屏”。去图吧。以上是关于如何使用 Cordova 6 在 iOS 中关闭“需要全屏”选项?的主要内容,如果未能解决你的问题,请参考以下文章
即使在 Android 4.4.2 中关闭了位置服务,GetCurrentLocation 仍在 Cordova/PhoneGap 应用程序上工作
如何在 iOS 8 中关闭两个 UIViewControllers?
如何在移动 android/iOs(本机应用程序)中关闭 webview