当前位置: 首页 > news >正文

[Swift]Xcode模拟器无法请求http接口问题

1.以前偷懒一直是这样设置

<key>NSAppTransportSecurity</key>
<dict><key>NSAllowsArbitraryLoads</key><true/><key>NSAllowsArbitraryLoadsInWebContent</key><true/>
</dict>

现在我在Xcode16.3上,这种设置方式在真机上能请求http(应该是设备开启了开发者模式),但在模拟器上请求http是被拒绝的。报错如下:

Cannot start load of Task <AAC1C590-5604-43A7-984F-3D486C5996DF>.<1> since it does not conform to ATS policy

Task <AAC1C590-5604-43A7-984F-3D486C5996DF>.<1> finished with error [-1022] Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection." UserInfo={NSLocalizedDescription=The resource could not be loaded because the App Transport Security policy requires the use of a secure connection., NSErrorFailingURLStringKey=http://114.55.151.190:9527/api/onlineGoods/getGoodsList?page=1&pageSize=20, NSErrorFailingURLKey=http://114.55.151.190:9527/api/onlineGoods/getGoodsList?page=1&pageSize=20, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <AAC1C590-5604-43A7-984F-3D486C5996DF>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <AAC1C590-5604-43A7-984F-3D486C5996DF>.<1>, NSUnderlyingError=0x60000129bde0 {Error Domain=kCFErrorDomainCFNetwork Code=-1022 "(null)"}}

问题就是由于 App Transport Security (ATS) 默认限制了非 HTTPS 请求。

2.现在需要这样设置

<key>NSAppTransportSecurity</key>
<dict><key>NSAllowsArbitraryLoads</key> <false/><key>NSExceptionDomains</key><dict><key>example.com</key> <!--Include your domain at this line --><dict><key>NSIncludesSubdomains</key><true/><key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key><true/><key>NSTemporaryExceptionMinimumTLSVersion</key><string>TLSv1.1</string></dict></dict>
</dict>

这里NSAllowsArbitraryLoads必须是false,因为它不允许所有不安全的连接,但例外列表允许连接到一些没有 HTTPS 的域。

这样模拟器上就能正常请求http接口了。


http://www.mrgr.cn/news/99017.html

相关文章:

  • linux oracle 19c 静默安装
  • Linux 下的软件仓库(附加详细实验案例)
  • tigase源码学习杂记-AbstractMessageReceiver
  • 健身会员管理系统(ssh+jsp+mysql8.x)含运行文档
  • Windows上安装FFmpeg的详细指南
  • Meteonorm8-免费使用教程(详细教程-免费)
  • 【网络初识】从零开始彻底了解网络编程(一)
  • MySQL中常用函数的分类及示例
  • ICS丨Chapter 1 Introduction to Computer System
  • MCP是什么?为什么突然那么火?
  • GPU渲染阶段介绍+Shader基础结构实现
  • CTF--秋名山车神
  • 《AI大模型应知应会100篇》第26篇:Chain-of-Thought:引导大模型进行步骤推理
  • 2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型?
  • Linux-进度条小程序
  • RenderStage::runCameraSetUp
  • B端可视化像企业数据的透视镜,看清关键信息
  • 1panel第三方应用商店(本地商店)配置和使用
  • Rocky8 升级 Python 3.9.20 并部署 Airflow 2.10.5
  • 基础学习:(7)nanoGPT 剩下的细节