cordova-ios@6.x 相对于 5.x 的变化

1、wkwebview 已内置集成,不再需要 cordova-plugin-wkwebview-engine

2、需要更新cordova-plugin-splashscreen插件
因为 Splash Screen 已经集成到 cordova-ios@6 了,cordova-plugin-splashscreen@6.0.0 中已经移除了 ios 的代码

3、iPadOS 13 默认使用桌面布局,而不是移动布局。现在,可以在config.xml中配置<preference name="PreferredContentMode" value="xxx" />来控制此行为。
xxx可取的值是mobiledesktop

4、cordova-ios@6.1.0 支持配置使用 WKURLSchemeHandler 来加载本地html网页,以绕过 file://.../index.html 访问本地文件的各种限制。

只要在 config.xml 配置如下即可

<preference name="scheme" value="cdv" /> 
<preference name="hostname" value="localhost" />

但是,这样配置之后,cordova 加载本地网页的地址为 cdv://localhost/index.html ,由于“内容安全策略(Content Security Policy)”,这个路径访问的网页下,是无法展示 file:// 路径的图片的,因为会报错

Not allowed to load local resource: file:///var/mobile/Containers/Data/Application/E09B7F43-B170-4435-A850-18277C597062/tmp/cache/avatar/7272b2c7-f7a8-4600-811d-6b7f2a3de3b3.jpg

解决方法
cordova 的 wkwebview 提供了一个方法来将 file:// 路径转为 cdv:// 地址(文档中没写)

window.WkWebView.convertFilePath('file:///var/mobile/Containers/Data/Application/E09B7F43-B170-4435-A850-18277C597062/tmp/cache/avatar/7272b2c7-f7a8-4600-811d-6b7f2a3de3b3.jpg')

得到一个如下的url

cdv://localhost/_app_file_/var/mobile/Containers/Data/Application/E09B7F43-B170-4435-A850-18277C597062/tmp/cache/avatar/7272b2c7-f7a8-4600-811d-6b7f2a3de3b3.jpg

这个url就可以放在 <img src>上展示了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘_博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值