ReactNative WebView使用本地HTML在真机上无法显示的问题

在使用WebView显示本地的html页面时,像使用图片资源一样使用时:

const source = reuqire('./index.html');

在debug模式下,Android和IOS都可以正常显示。

然而在release模式时,双端在手机上都无法正常显示html页面。

解决方法如下:

Android端:

由于React Native打包资源时不支持html资源的自动打包,所以我们得手动将html资源放到asset目录下,没有的话就自己创建:

android/app/src/main/assets/

之后在代码里引用:

const source  = { uri:'file:///android_asset/index.html' }

iOS端:

正常使用如下引用法是没有问题的:

const source = reuqire('./index.html');

但是现在的IOS开发需要做一些处理:

WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式。在iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS的网络访问是被禁止的。当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加NSAppTransportSecurity 字典并且将 NSAllowsArbitraryLoads 设置为 YES 来禁用 ATS。
具体查看关于 iOS 10 中 ATS 的问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值