试图对网站的内容进行轮询,无论是JSON还是REST API,我似乎都无法使其正常工作。相同的代码适用于iOS应用程序,但是在Swift MacOS终端应用程序中使用时不会获得内容。什么是主要原因?
该项目没有info.plist文件。
这是一个在iOS应用程序中起作用的代码示例,但在MacOS终端应用程序中不使用。我使用简单的JSONPARSER()调用该功能,该功能启动了Nsurlsession并在该功能到达时打印了JSON。
enum JSONError: String, ErrorType {
case NoData = "ERROR: no data"
case ConversionFailed = "ERROR: conversion from JSON failed"
}
func jsonParser() {
let urlPath = "https://api.coindesk.com/v1/bpi/currentprice.json"
guard let endpoint = NSURL(string: urlPath) else {
print("Error creating endpoint")
return
}
let request = NSMutableURLRequest(URL:endpoint)
NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) in
do {
guard let data = data else {
throw JSONError.NoData
}
guard let json = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary else {
throw JSONError.ConversionFailed
}
print(json)
} catch let error as JSONError {
print(error.rawValue)
} catch let error as NSError {
print(error.debugDescription)
}
}.resume()
}
我能够通过添加
来解决我的问题dispatch_main()
在我的主要程序代码末尾。上面列出的是请求Web数据的功能。感谢Martin和Eric指出的。