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 Settings
Allow Arbitrary Loads YES
这样就能正常访问 http 的内容了