Xcode Swift Macos,终端应用程序不做nsurlsession



试图对网站的内容进行轮询,无论是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指出的。

相关内容

最新更新