gpt4 book ai didi

ios - 即使使用 Cordova WKWebview Engine 插件的基本 Ionic 项目也会产生白屏

转载 作者:技术小花猫 更新时间:2023-10-29 11:03:26 25 4
gpt4 key购买 nike

我的问题:我正在开发的 ionic 应用程序非常慢,在发现 UIWebView 是我正在寻找加速它的方法后,WKWebView 是最有前途的解决方案。

我的项目是什么样的:当使用当前的 Cordova 4.1.0 CLI(我使用的是 Ionic 1.2.4)设置示例 ionic 项目(例如 http://ccoenraets.github.io/ionic-tutorial/install-ionic.html)时,默认使用 UIWebView。然而,自 Cordova 4 以来,新的更快的 WKWebView 得到了开箱即用的支持,并且可以强制使用,至少在 iOS 9 中是这样 ( cordova 4 supports WKWebView )。

我使用和配置的插件:通过cordova plugin add cordova-plugin-wkwebview-engine添加了对 iOS 平台的支持(现在是 9.3)。添加此插件并在 config.xml 中正确配置时使用

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

到目前为止我尝试了什么:在终端 ionic build ios ,然后构建成功,当通过 XCode 7.3 在 OS X El Capitan 10.11.3 上安装应用程序时,在控制台中记录 Using WKWebView消息被打印出来,但紧接着在启动画面之后,应用程序容器逐渐变成一个白屏死机。一旦我删除该插件,就会使用 UIWebView 并且该应用程序会按预期运行。

备选:替换原来的插件wkwebview-engine-localhost与集成本地主机的一个一起工作。据我了解,开箱即用的 cordova 和 ionic 应该支持 WKWebview,而不必依赖一些带有集成服务器的“实验室插件”,开发该插件是为了支持我不需要的 iOS 8。我知道 WKWebView 与旧的 UIWebView 相比有很多限制,尤其是在处理 file:// 时。报表 known issues ,但肯定有人让 Ionic + Cordova WKWebView 工作起来没有我遇到的所有麻烦,对吧?必须有更好的方法来实现 Web View 的简单速度改进。

我可能尝试了所有解决方案、配置、插件组合、cordova cli 版本降级(WKWebView 支持最低为 4.0.0)、清除缓存并重置和重新启动我的设备、新安装和读取平台以及更新 cordova, npm,各种插件,但除了上面的 apache labs 插件之外,它们要么根本没有帮助,要么看起来一团糟,没有改变任何东西。

当通过我的本地 Safari 远程调试设备上的 ios 应用程序时,我可以在元素树中看到,body 标记保持为空,或者显示一个简单的“ng-view”占位符用于角度元素。通过 Cordova 通过 WKWwebView 处理它的方式检索文件/角度脚本一定存在问题,我是否正确?

注意:应用程序本身运行良好,无论是 ionic serveionic emulate ios ,只有在通过 XCode 部署到真实设备时(因为 ionic run ios 不起作用,但这是另一回事),才会出现白屏。

非常感谢任何帮助,因为在我看来,我必须要么使用 localhost+wkwebview 插件,要么让用户遭受速度不佳的困扰。

非常感谢!

最佳答案

我有一个使用 WKWebview 的 ionic2 项目。我认为我采取的步骤也适用于 ionic1:

1)安装WKWebview插件:

ionic 插件添加 cordova-plugin-wkwebview-engine

2) 安装本地网络服务器插件:

ionic 插件添加 https://git-wip-us.apache.org/repos/asf/cordova-plugins.git#master:local-webserver

3) 在您的 config.xml 中添加/更改以下内容:

...

<content src="http://localhost:8080" />

...

<allow-navigation href="gap://ready" />
<allow-navigation href="http://localhost:*" />

...

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

关于ios - 即使使用 Cordova WKWebview Engine 插件的基本 Ionic 项目也会产生白屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36477450/

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