You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift开发macOS工具测试URL遇域名解析错误求排查方案

针对NSURLErrorDomain Code=-1003的排查方案

首先明确:仅在Xcode中运行开发工具应用不是导致该错误的原因,Xcode调试的macOS应用完全具备正常发起网络请求的能力,问题出在其他配置或环境上。以下是具体排查思路:

  • 检查DNS解析是否正常
    打开终端执行nslookup www.google.com或ping www.google.com,如果终端也无法解析到IP地址,说明是系统DNS配置问题。可以尝试将Mac的DNS服务器改为公共DNS(如8.8.8.8、1.1.1.1)后重试。若终端能正常解析但app不行,继续排查其他项。

  • 确认应用沙箱权限
    在Xcode的项目配置中,进入Signing & Capabilities标签页,检查是否勾选了**Outgoing Connections (Client)**权限。macOS沙箱默认会阻止应用发起网络请求,必须手动开启该权限才能让URLSession正常工作。

  • 验证ATS配置的正确性
    检查Info.plist中的NSAppTransportSecurity配置是否为根层级key,且格式无错误。建议直接使用Xcode的可视化Info.plist编辑器添加配置,避免手写XML时出现嵌套错误。正确的ATS配置结构应为:

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  • 排除代理/VPN干扰
    暂时关闭系统代理、VPN或翻墙工具,然后重新运行测试代码。部分代理工具可能会拦截macOS应用的网络请求,导致DNS解析失败。也可以尝试创建不带代理的URLSession配置:

    func testGetUrlRequest() {
        let config = URLSessionConfiguration.default
        config.connectionProxyDictionary = [:] // 清空代理设置
        let session = URLSession(configuration: config)
        
        guard let url = URL(string: "https://www.google.com/") else { return }
        let task = session.dataTask(with: url) { data, response, error in
            if let error = error {
                print("Error: \(error)")
                return
            }
            guard let data = data else { return }
            print("Response: \(String(data: data, encoding: .utf8)!)")
        }
        task.resume()
    }
    
  • 测试基础网络连通性
    用Safari或其他浏览器打开https://www.google.com,确认网络连接正常。有时WiFi显示已连接但实际无网络访问权限,也会触发该错误。

  • 临时用同步请求排查
    为排除异步任务的潜在问题,可临时使用同步请求测试(仅用于排查,生产环境不建议):

    func testSyncUrlRequest() {
        guard let url = URL(string: "https://www.google.com/") else { return }
        do {
            let data = try Data(contentsOf: url)
            print("Response: \(String(data: data, encoding: .utf8)!)")
        } catch {
            print("Error: \(error)")
        }
    }
    

内容的提问来源于stack exchange,提问作者corleyq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:35:07