gpt4 book ai didi

ios - Cordova iOS 9 上 WKWebView 的状态?

转载 作者:IT王子 更新时间:2023-10-29 07:40:06 25 4
gpt4 key购买 nike

iOS 8 引入了 WKWebView,这是一种适用于 iOS 的现代化 Web View ,具有更多功能,特别是对 Javascript 代码的 JIT 编译显着提高了性能。

然而,iOS 8 上的 WKWebView 存在一些错误,导致 Cordova 默认无法使用它。据我所知,有一些插件可以使用它,但它们都说“测试版”、“不完整”等。另外据我所知,iOS 9 修复了阻止 Cordova 在 iOS 8 中默认为 WKWebView 的错误。

那么WKWebView在iOS 9的Cordova中是什么状态呢?我似乎无法找到有关此的任何信息。 Cordova 是否默认为 iOS 9 上的 WKWebView?如果不是,为什么不,是否可以通过其他方式正式启用它?

最佳答案

新编辑:2019 年 6 月

Apple 并未在 iOS 13 beta 中删除 UIWebView,因此看起来它至少可以再使用一年。

Ionic WebView 插件,从版本 3.0.0 开始不再使用网络服务器,而是使用 WKURLSchemeHandler,这需要放弃对 iOS 10 及更早版本的支持。

仍然向后移植大多数修复到 2.x 分支,该分支仍然有那些想要支持 iOS 10 的网络服务器。

WKWebView 没有集成到 cordova-ios 5.0.0 中,仍然需要一个插件才能使用它。 6.0.0 版本应该有。

现在有可用的 Ionic Capacitor,它是从一开始就使用 WKWebView 构建的 Apache Cordova 替代品。它有自己的一组插件,但它也与大多数 Cordova 插件兼容。 https://capacitor.ionicframework.com/

旧编辑:2018 年 8 月

Apple 已在 iOS 12 中弃用 UIWebView,并可能会在 iOS 13 中将其删除。

Apache Cordova has announced它将在下一个主要版本 (5.x.x) 中将 cordova-plugin-wkwebview-engine 集成到 cordova-ios 中,但是 UIWebView 将仍然有效并且是默认的。此外,您将能够在运行时在它们之间切换以轻松测试您的应用程序。在未来的版本中,它将删除整个 UIWebView 代码,而 WKWebView 将是唯一的选择。

但是cordova-plugin-wkwebview-engine还有很多问题。我仍然建议使用 cordova-plugin-ionic-webview因为使用 GCDWebServer 解决了大部分 WKWebView 问题。

新编辑:2017 年 11 月

Ionic 团队推出了 new WKWebView plugin它不再是 Cordova 的一个分支,并在内部使用 GCDWebServer 并克服了大部分 Cordova 插件的已知问题。

新编辑:2016 年 8 月 24 日

更新只是为了添加 apache 的 WKWebView 插件的一个分支,该插件由 ionic 框架团队创建,为插件添加了一些增强功能。

https://github.com/driftyco/cordova-plugin-wkwebview-engine

增强功能可能很快就会出现在核心插件上,但您现在可以查看并测试 ionic fork。

新编辑:2015 年 12 月 9 日

cordova ios 4.0.0 has been releasedthe version 1.0.0cordova-plugin-wkwebview-engine

尝试一下:

cordova create wkwvtest my.project.id wkwvtest
cd wkwvtest
cordova platform add ios@4
cordova plugin add cordova-plugin-wkwebview-engine

正如我已经说过的,cordova-plugin-wkwebview-engine 只支持 iOS 9,在 iOS 8 上它将使用 UIWebView 并且有一些 know issues

如果你也想支持 iOS 8,你可以使用 wkwebview-engine-localhost (实验性的)或 cordova-plugin-wkwebview来自 Telerik,它们都使用本地网络服务器

https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine-localhost

旧消息:

您可以使用可用的 WKWebView 插件将 WKWebView 与 cordova 一起使用。

您提到的问题是 WKWebView 无法加载本地文件,因此插件使用本地 Web 服务器来解决该问题。

其中一些像来自 telerik 的这个 https://github.com/Telerik-Verified-Plugins/WKWebView (内置Web服务器)或cordova团队的官方https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine-localhost (以网络服务器作为依赖插件)

由于你提到的bug在iOS 9上已经修复,目前的cordova插件(兼容iOS 8和iOS 9,使用web server)已经重命名为wkwebview-engine-localhost,当前名称cordova-plugin- wkwebview-engine 将用于仅支持 iOS 9 且不使用 Web 服务器的新插件

您可以在此处查看问题以跟踪进度

https://issues.apache.org/jira/browse/CB-9566

https://issues.apache.org/jira/browse/CB-9567

编辑:我带来新闻https://shazronatadobe.wordpress.com/2015/09/09/apache-cordova-ios-4-0-0-and-wkwebview-support/

WKWebView support

The cordova-plugin-wkwebview-engine plugin will be iOS 9 only and it will be a core plugin. The development of this updated plugin is still in progress. Apple has fixed the bug where we couldn’t load documents from file:// urls, and it is iOS 9 only. On non-iOS 9 devices, cordova-ios will fallback to using the UIWebView.

The old version of this plugin used a local webserver to load your main document. This older plugin can be used where you want to use WKWebView in both iOS 8 and iOS 9 deployments, but the plugin will remain as a cordova-labs experiment. This plugin has some re-factoring work to be done.

关于ios - Cordova iOS 9 上 WKWebView 的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com