背景
即將上線的React Native項目,一直是用fetch localhost來訪問本地后臺的數據的。老板突然想在手機上看看項目運行效果。于是我搭建了外網,把fetch URL指向外網IP,得到Error.后臺斷點,根本沒進來,也就是說React Native fetch根本沒有訪問到后臺。
于是降級了React Native版本,又或者修改fetch為127.0.0.1,也不行!
最終在React Native Issue 找到ATS.
ATS
ATS 是一個iOS 9增加的安全策略,默認只允許HTTPS請求.于是React Native應用的HTTP請求會被阻止。
你需要移除Info.plist里的NSAllowsArbitraryLoads屬性。需要了解更多有關如何配置ATS,請移步ATS配置.
代碼
配置NSAllowsArbitraryLoads:true,訪問外網成功!
Paste_Image.png