我有这段代码:
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:connect() - >没有尝试:1 2017-11-21 22:41:59.921886 + 1000 AltcoinTrader [36412:12415444] dnssd_clientstub ConnectToServer:connect() - >没有尝试:2 2017-11-21 22:42:00.922257 + 1000 AltcoinTrader [36412:12415444] dnssd_clientstub ConnectToServer:connect() - >没有尝试:3 2017-11-21 22:42:01.927400 + 1000 AltcoinTrader [36412:12415444] dnssd_clientstub ConnectToServer:connect()失败 path:/ var / run / mDNSResponder Socket:11 Err:-1 Errno:1操作不是 允许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 Conn失败[1:0x608000162580]:10:-72000 Err(-65563)2017-11-21 22:42:01.929003 + 1000 AltcoinTrader [36412:12415423]任务 < 209F1681-53BB-4E9D-A553-E349AE087159>。&LT 1为卤素; HTTP加载失败(错误 代码:-1003 [10:-72000])2017-11-21 22:42:01.929234 + 1000 AltcoinTrader [36412:12415423]任务 < 209F1681-53BB-4E9D-A553-E349AE087159>。&LT 1为卤素;完成错误 - 代码: -1003错误域= NSURLErrorDomain代码= -1003“找不到具有指定主机名的服务器。” UserInfo = {NSUnderlyingError = 0x604000046720 {错误 Domain = kCFErrorDomainCFNetwork Code = -1003“(null)” 的UserInfo = {_ 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应用程序。
此致
标记
答案 0 :(得分:5)
我通过更改沙盒中的权限来修复此问题。
具体来说,在Project导航器中我选择了项目,然后在主窗口中选择了应用程序,然后选择了Capabilities选项卡。 App Sandbox已打开,但所有项目均未选中。我打开了网络(传入和传出)。
然后它起作用了
我通过谷歌搜索到达此页并最终看到此页面: https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW9