Mar*_*ius 1 macos https xcode swift urlsession
我有以下代码:
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()
}
Run Code Online (Sandbox Code Playgroud)
消息区域得到以下信息:
0x608000162580]:10:-72000 Err(-65563)2017-11-21 22:42:01.929003 + 1000 AltcoinTrader [36412:12415423]任务<209F1681-53BB-4E9D-A553-E349AE087159>。<1> HTTP加载失败(错误代码:-1003 [10:-72000])2017-11-21 22:42:01.929234 + 1000 AltcoinTrader [36412:12415423]任务<209F1681-53BB-4E9D-A553-E349AE087159>。<1>已完成但有错误-代码:-1003错误域= NSURLErrorDomain代码= -1003“找不到具有指定主机名的服务器。” UserInfo = {NSUnderlyingError = 0x604000046720 {Error Domain = kCFErrorDomainCFNetwork Code = -1003“(null)” UserInfo = {_ kCFStreamErrorCodeKey = -72000,_kCFStreamErrorDomainKey = 10}},NSErrorFailingURLStringKey = 1> HTTP加载失败(错误代码:-1003 [10:-72000])2017-11-21 22:42:01.929234 + 1000 AltcoinTrader [36412:12415423]任务<209F1681-53BB-4E9D-A553-E349AE087159>。 1>错误完成-代码:-1003错误域= NSURLErrorDomain代码= -1003“找不到具有指定主机名的服务器。” UserInfo = {NSUnderlyingError = 0x604000046720 {Error Domain = kCFErrorDomainCFNetwork Code = -1003“(null)” UserInfo = {_ kCFStreamErrorCodeKey = -72000,_kCFStreamErrorDomainKey = 10}},NSErrorFailingURLStringKey = 1> HTTP加载失败(错误代码:-1003 [10:-72000])2017-11-21 22:42:01.929234 + 1000 AltcoinTrader [36412:12415423]任务<209F1681-53BB-4E9D-A553-E349AE087159>。 1>错误完成-代码:-1003错误域= NSURLErrorDomain代码= -1003“找不到具有指定主机名的服务器。” UserInfo = {NSUnderlyingError = 0x604000046720 {Error 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)时得到了那个?我知道该网址是一个有效的网址,因为我可以将其粘贴到浏览器中并获取正确的JSON字符串。我在这里做错了什么?我正在最新的macOS 10.13.1上用Xcode 9.1做我的第一个Mac应用程序。
问候
标记
我通过更改沙箱中的权限来解决此问题。
具体来说,我在项目导航器中选择了项目,然后在主窗口中选择了应用程序,然后选择了功能选项卡。应用程序沙箱已打开,但所有项目均未选中。我同时打开了两个网络(传入和传出)。
然后它起作用了
我通过谷歌搜索并最终看到以下页面:https: //developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195- CH4-SW9