您的位置:首页 > Web前端 > React

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

2016-06-30 17:40 239 查看
  大坑,上网绕了一大圈找了n久,最后找到解决方法那个兴高采烈。或许是由于我从事前端没开发过ios,有些配置不明白。这里写下来作为参考,也希望能帮到其他人。

  

  今天在写react native demo的时候,用到了fetch这个函数。网上教程很顺利的写下来,但是我却遇到了无法请求的问题。



  对,就是这货,下面黄色的那条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



  具体两项为:



  配置之后就顺利的走通了~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RN ios 前端