【问题标题】:URLSession "hostname not found", but I see it in browserURLSession“找不到主机名”,但我在浏览器中看到它
【发布时间】:2018-05-05 15:06:56
【问题描述】:

我有这个代码:

let primaryCurr = "https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes"

guard let url = URL(string: primaryCurr) else { 
    print("Invalid URL: \(primaryCurr)")
    return nil 
}

let task = URLSession.shared.dataTask(with: url) { data, response, error in
    guard error == nil else {
        print(error!)
        return
    }
    guard let data = data else {
        print("Data is empty")
        return
    }

    let json = try! JSONSerialization.jsonObject(with: data, options: [])
        print("JSON: ", json)
    }

    task.resume()
}

 

消息区得到这个:

2017-11-21 22:41:58.919318+1000 AltcoinTrader[36412:12415444] dnssd_clientstub ConnectToServer:连接()->尝试次数:1 2017-11-21 22:41:59.921886+1000 山寨币交易者[36412:12415444] dnssd_clientstub ConnectToServer:连接()->尝试次数:2 2017-11-21 22:42:00.922257+1000 山寨币交易者[36412:12415444] dnssd_clientstub ConnectToServer:连接()->尝试次数:3 2017-11-21 22:42:01.927400+1000 AltcoinTrader[36412:12415444] dnssd_clientstub ConnectToServer:连接()失败 path:/var/run/mDNSResponder Socket:11 Err:-1 Errno:1 Operation not 允许 2017-11-21 22:42:01.927796+1000 AltcoinTrader[36412:12415444] [] nw_resolver_create_dns_service_locked DNSServiceCreateDelegateConnection 失败:ServiceNotRunning(-65563) 2017-11-21 22:42:01.928105+1000 AltcoinTrader[36412:12415444] TIC TCP 连接失败 [1:0x608000162580]: 10:-72000 Err(-65563) 2017-11-21 22:42:01.929003+1000 AltcoinTrader[36412:12415423] 任务 . HTTP 加载失败(错误 代码:-1003 [10:-72000]) 2017-11-21 22:42:01.929234+1000 山寨币交易者[36412:12415423] 任务 . 完成错误 - 代码: -1003 错误域=NSURLErrorDomain 代码=-1003 “找不到具有指定主机名的服务器。” UserInfo={NSUnderlyingError=0x604000046720 {错误 域=kCFErrorDomainCFNetwork 代码=-1003 "(null)" 用户信息={_kCFStreamErrorCodeKey=-72000, _kCFStreamErrorDomainKey=10}},NSErrorFailingURLStringKey=https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes/, NSErrorFailingURLKey=https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes/, _kCFStreamErrorDomainKey=10, _kCFStreamErrorCodeKey=-72000, NSLocalizedDescription=指定主机名的服务器不能 被找到。}

-1003 代码可能是更相关的代码。我在尝试 String(contentsOf: url) 时得到了这个 我知道 URL 是有效的,因为我可以将它粘贴到浏览器中并取回正确的 JSON 字符串。 我在这里做错了什么?我在最新的 macOS 10.13.1 上用 Xcode 9.1 做我的第一个 mac 应用程序。

问候

标记

【问题讨论】:

标签: swift xcode macos https urlsession


【解决方案1】:

我通过更改沙盒中的权限解决了这个问题。

具体来说,在项目导航器中,我选择了项目,然后在主窗口中选择了应用程序,然后是功能选项卡。应用沙盒已打开,但所有项目均未选中。我打开了两个网络(传入和传出)。

然后就成功了

我通过谷歌搜索并最终看到了这个页面: https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW9

【讨论】:

    猜你喜欢
    • 2020-01-08
    • 2012-05-25
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多