Cordova应用卡在iOS 14 Beta的启动屏幕上

问题描述

我有一个普通的Cordova应用程序,当我在iOS 14 beta上运行该应用程序时,该应用程序卡在了启动屏幕上,并且在XCode中记录了很少的警告/错误,但是我不确定它是否引起了问题。

我创建了一个空白的Cordova应用程序,以测试它是否可以在iOS 14上运行,并在设备上运行该应用程序时按预期运行,但是当我将该应用程序设置为使用 WKWebView 而不是 UIWebView 该应用卡在初始屏幕上。

添加了以下首选项,以在config.xml文件中使用WKWebView。

(node:3854) Warning: To load an ES module,set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)

我还添加了cordova-plugin-wkwebview-engine,但是我不知道它是否对我设置WKWebView有用。

以下是我在XCode中遇到的错误

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>

但是在收到此错误后,XCode会打印出已加载index.html的语句。

2020-08-17 12:01:37.990216+0530 BankWindhoek[58947:1465531] nil host used in call to allowsAnyHTTPSCertificateForHost:
2020-08-17 12:01:37.991180+0530 BankWindhoek[58947:1465531] nil host used in call to allowsspecificHTTPSCertificateForHost

但是在应用程序的用户界面上,没有任何内容可以正确呈现并显示空白的白屏。

配置

科尔多瓦版本:9.0.0

Cordova-ios:5.1.1

注意:如果我在iOS 13 / iOS 13.1上运行相同的应用程序,则可以正常运行。

解决方法

您应该升级到Cordova 10,然后删除

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>

然后删除

 cordova-plugin-wkwebview-engine

然后

 cordova plugin add @globules-io/cordova-plugin-ios-xhr

并像设置wkwebview-engine一样设置标志。

您还必须升级初始屏幕插件以使用新的初始屏幕图像格式。阅读https://cordova.apache.org/news/2020/07/21/splashscreen-plugin-release.html

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...