Capacitor 打包后的 iOS app 无法访问 http 的内容,解决办法

Capacitor 打包后的 iOS app 无法访问 http 的内容,解决办法

上篇文章中说了如何使用 Capacitor 打包成 iOS app 的过程中遇到的问题 Capacitor在 xcode 打包 iOS 应用发布的时候出错

在这之后,遇到了一个新问题, 就是它无法访问 http 的内容。

一、现象是这样的:

  1. 访问本地内容 localhost 192.168.0.x 都是可以的

  2. 但无法访问外部 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 文件,添加两个字段,这两个字段是上下层级关系,不是同级。

  1. 打开项目根目录中的 info.plist 文件

  2. 在空白处右击,点击 add row

  3. 依次添加下面的两个内容,就是下方图片中蓝框的两条。

    App Transport Security Settings
    Allow Arbitrary Loads YES

这样就能正常访问 http 的内容了

相关推荐
karshey9 小时前
【IOS webview】h5页面播放视频时,IOS系统显示设置的icon
前端·ios
一线大码9 小时前
安全保护协议 SSL 和 TLS 的区别
后端·http
游戏开发爱好者810 小时前
抓包工具有哪些?代理抓包、数据流抓包、拦截转发工具
android·ios·小程序·https·uni-app·iphone·webview
Lucifer三思而后行11 小时前
看来 Oracle 还是听劝的!
http
bybitq11 小时前
Go函数闭包实战-复用函数
ios·golang·xcode
renke336413 小时前
Flutter 2025 跨平台工程体系:从 iOS/Android 到 Web/Desktop,构建真正“一次编写,全端运行”的产品
android·flutter·ios
程序猿编码13 小时前
轻量高效的HTTP/HTTPS代理:SSL拦截与流量管控核心解析
http·https·ssl·代理
Zender Han14 小时前
Flutter 中 AbsorbPointer 与 IgnorePointer 的区别与使用场景详解
android·flutter·ios