问题
新搭建的一个项目,在使用fetch进行网络请求的时候遇到一个报错:TypeError: Network request failed.
尝试直接在浏览器打开url访问可以正常拿到返回值。(url是http
协议)
原因
这个API请求是http的协议请求,在iOS9以上系统,已经把http协议的请求限制了。
iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)
新特性要求App内访问的网络必须使用HTTPS协议。
解决方案
- 在
xcode
中打开react native
中的ios
项目根目录; - 打开项目下的info.plist文件;
- 在
App Transport Security Settings
下新增Allow Arbitrary Loads
,值为YES
; - 重启react native项目,刷新,请求后返回值正常;
我很可爱,请给我钱
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub IssuesGitHub Discussions