Capacitor 打包后的 iOS app 无法访问 http 的内容,解决办法
上篇文章中说了如何使用 Capacitor 打包成 iOS app 的过程中遇到的问题 Capacitor在 xcode 打包 iOS 应用发布的时候出错。
在这之后,遇到了一个新问题, 就是它无法访问 http 的内容。
一、现象是这样的:
- 访问本地内容
localhost
192.168.0.x
都是可以的 - 但无法访问外部 ip 的内容
# 错误信息
The resource could not be loaded becuase the App Transport Security policy requires the use of a secure connection.
二、原因
iOS app 默认在没有特殊设置的情况下,是默认只允许 https 请求的。除非你刻意设置为允许非 https 的请求。
三、解决
打开项目根目录中的 info.plist
文件,添加两个字段,这两个字段是上下层级关系,不是同级。
- 打开项目根目录中的
info.plist
文件 - 在空白处右击,点击
add row
- 依次添加下面的两个内容,就是下方图片中蓝框的两条。
App Transport Security SettingsAllow Arbitrary Loads YES
这样就能正常访问 http 的内容了