Cordova + Crosswalk iOS 仍在使用 UIWebView

Posted

技术标签:

【中文标题】Cordova + Crosswalk iOS 仍在使用 UIWebView【英文标题】:Cordova + Crosswalk iOS still using UIWebView 【发布时间】:2015-11-18 23:29:06 【问题描述】:

我没有找到很多为 ios 设置人行横道的说明,看起来应该很简单:

cordova plugin add cordova-plugin-crosswalk-webview
cordova build ios

因为在我执行以下操作之前,我遇到了插件无法生效的问题:

cordova plugin add cordova-plugin-crosswalk-webview
cordova platform remove ios
cordova platform add ios
cordova build ios

完成此操作后,当我捕获视图层次结构并检查它是否仍在使用“UIWebView”,其中有一个“UIWebBrowserView”(它位于滚动视图内部,也有几个图像视图)。

另外,navigator.userAgent 如下:

"Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (Khtml, like Gecko) Mobile/13B143 (5618403776)" = $1

有人提到的另一个测试基本上是:

if (window.indexedDB)
    console.log('Using crosswalk');
else
    console.log('Not using crosswalk/wkwebview');

window.indexedDB 是未定义的。

那么...我需要做什么才能让应用使用 wkwebview?

【问题讨论】:

有人投票决定关闭它,因为它要求找到一个“工具”;因此,答案是有偏见的。我的初衷不是要求找到一个工具,我想你会知道“Crosswalk”的cordova插件......可以在更多平台上工作,而不仅仅是android,因为这就是人行横道的重点。无论如何,我认为答案不是主观的,并且对那些可能阅读本文并寻找与我相似的答案的人有所帮助。 【参考方案1】:

对plugin repository 的评论并不表明cordova-plugin-crosswalk-webview 支持iOS。这意味着人行横道不能作为 iOS 的 插件 工作。

是的,支持Crosswalk for iOS,但您必须通过 github 存储库或其他方式安装。

科尔多瓦Embedding WebViews

FWIW:有一个WkWebview 插件

更新: 2016-03-19。以下帖子于 2016 年 2 月 16 日发布:Plugins From Git Repositories Are Now Available on PhoneGap Build!

【讨论】:

谢谢,这是有道理的。我为你的答案+1,但一旦我弄清楚了,我可能会写一个答案,说明如何将 ios 的人行横道与科尔多瓦结合起来。 (或者,如果您附加了那种说明,我会接受您的回答)。无论如何,您的信息非常有帮助和赞赏 是的。谢谢你的提议。我的盘子满了。如果你写一个答案,我会把它发给the bloggers。【参考方案2】:

我是如何解决这个问题的

正如 JesseMonroy 如此乐于助人的回答(请随时为他投票)cordova 人行横道插件仅适用于 android

由于苹果的服务条款,iOS 的crosswalk 使用wkwebview 代替,而非ios 版本的chrome 将使用。

由于我知道没有适用于 crosswalk iOS 的 cordova 插件,我找到了适用于 WKWebView 的插件

我使用的插件是: https://github.com/Telerik-Verified-Plugins/WKWebView

这可能是一个更好的选择:https://github.com/apache/cordova-plugin-wkwebview-engine.. 但是我错了


即将推出:

正如 Honry 所说:

Crosswalk 将很快为 Crosswalk ios 提供一个 cordova 插件,请参阅 票https://crosswalk-project.org/jira/browse/XWALK-4911

XWalk 毕竟不会支持 iOS 插件,因为它没有提供任何优于 wkwebview 的必备优势

【讨论】:

我也试过找一个Crosswalk iOS cordova插件,最后放弃用了cordova-plugin-wkwebview-engine,对我来说效果很好。【参考方案3】:

Crosswalk 将很快为 Crosswalk ios 提供一个 cordova 插件,见票 https://crosswalk-project.org/jira/browse/XWALK-4911

【讨论】:

很好,感谢您的帖子。我期待在它可用时使用这个插件。 看起来不会发生:“我们不会实现它,因为 Crosswalk iOS XWalkView 在用作 Cordova 插件 webview 时并没有提供比系统 WKWebView 更多的功能。” @user276648 你从哪里引用的? @Vince:它是票的 cmets 之一。 他们将其关闭为“不会修复”:/

以上是关于Cordova + Crosswalk iOS 仍在使用 UIWebView的主要内容,如果未能解决你的问题,请参考以下文章

当前维护的cordova-plugin-crosswalk-webview 有啥替代方案吗?

构建 android 应用程序时出错 (cordova-plugin-crosswalk-webview)

cordova编译crosswalk-webview插件报错的处理办法

英特尔 Xdk 使用 Crosswalk Cordova 混合平台构建,但本地小部件无法正常工作

iOS 10 上的 Cordova 媒体插件是不是仍可使用后台播放?

WKWebView针对于Cordova的IOS平台性能提升