iOS 14.4访问api.github.com触发SSL错误无法建立安全连接如何解决
你当前Info.plist中配置的ATS例外域名是filename.hostname.net,与你要访问的目标域名api.github.com不匹配,该配置不会生效,是导致报错的常见原因之一。
解决方案
1. 调整ATS配置(二选一即可)
方案1:仅为GitHub域名添加例外(安全性更高,推荐)
修改Info.plist中的NSAppTransportSecurity配置如下:
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>github.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>
注:GitHub官方接口本身符合苹果ATS安全要求,正常情况下不需要额外添加例外,如果你加了其他全局ATS限制才需要补充上述配置
方案2:全局允许任意HTTP/HTTPS请求(仅调试阶段使用,禁止线上环境使用)
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
2. 排查模拟器本地环境问题
- 打开模拟器自带的Safari,直接访问
https://api.github.com/users,如果Safari也无法打开,重置模拟器:点击顶部菜单栏Device->Erase All Content and Settings,重启模拟器后再测试 - 关闭本地运行的代理、VPN、抓包工具,这类工具会篡改SSL证书,导致系统校验失败触发该报错
3. 校验请求代码逻辑
确认你的网络请求代码没有自定义SSL校验逻辑,如果没有特殊的证书绑定需求,直接使用系统默认的URLSession配置发起请求即可,不要在URLSession代理中拦截并拒绝合法的SSL证书校验回调。
内容的提问来源于stack exchange,提问作者Aashna Narula
相关产品推荐
相关产品推荐

