解决react native使用fetch函数在ios9报network request failed的问题

  大坑,上网绕了一大圈找了n久,最后找到解决方法那个兴高采烈。或许是由于我从事前端没开发过ios,有些配置不明白。这里写下来作为参考,也希望能帮到其他人。
  
  今天在写react native demo的时候,用到了fetch这个函数。网上教程很顺利的写下来,但是我却遇到了无法请求的问题。
network request failed
  对,就是这货,下面黄色的那条network request failed。
  
  我的代码就只是用fetch get一个地址,但是这个地址直接访问是可以的。我自己搭了个本地服务器依然是这样,尝试了post方法也还是这个问题。
  
  最后无意间发现一篇文章说到(放条链接感激下):ios9默认https请求(戳这里),http需要配置info.plist,具体配置如下:

1、在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;
2、在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;

  事实上我在设置的时候提示重复,但我并没有看到有相同的属性。仔细查找发现NSAppTransportSecurity成了App Transport Security Settings,配置上有出入,或许是新版本更新了配置的原因(xcode 7.3.1,react-native 0.28.0),我这里真正的配置如下:

1、在Info.plist中的App Transport Security Settings中添加Allow Arbitrary Loads,类型为Boolean,值为yes

整体配置

  具体两项为:
具体项配置

  配置之后就顺利的走通了~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值