Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl youtubeAPI v3在tvOS上的证书无效_Ssl_Swift2_Nsurlsession_Tvos_Youtube Data Api - Fatal编程技术网

Ssl youtubeAPI v3在tvOS上的证书无效

Ssl youtubeAPI v3在tvOS上的证书无效,ssl,swift2,nsurlsession,tvos,youtube-data-api,Ssl,Swift2,Nsurlsession,Tvos,Youtube Data Api,我想从我的tvOS应用程序请求youtube数据api v3。为此,我编写了以下类: class YoutubeSearch { static let sharedClient = YoutubeSearch() private var task: NSURLSessionDataTask! func getVideoNSURLsForTitle(title: String, completionHandler: ([String], NSError?) -> Void )

我想从我的tvOS应用程序请求youtube数据api v3。为此,我编写了以下类:

class YoutubeSearch {

static let sharedClient = YoutubeSearch()
private var task: NSURLSessionDataTask!


    func getVideoNSURLsForTitle(title: String, completionHandler: ([String], NSError?) -> Void ) -> NSURLSessionTask {

        // URL
        let urlString = makeURL(title)
        let url = NSURL(string: youtubeApi)

        // cancel task, if there is already one
        task?.cancel()

        // setup new request
        let request = NSURLRequest(URL: url!)
        let config = NSURLSessionConfiguration.defaultSessionConfiguration()
        let session = NSURLSession(configuration: config)
        task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
            // No errors occured
            do {

            // some JSON processing
            // complitionHandler is returned here

            } catch let parseError {
                // Some other error
                print(parseError)
                let jsonStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
                print("YoutubeSearch Error: '\(jsonStr)'")
            }

        }

        // execute request
        task.resume()
        return task
    }
}
该代码在模拟器中运行良好。我得到一个有效的JSON。但在tvOS上,它抛出一个错误,告诉我证书无效:

NSUnderlyingError=0x13e207d70{Error Domain=KCFerrorDomain=KCF网络代码=-1202“(null)”用户信息={{kCFStreamPropertySSLClientCertificateState=0,kCFStreamPropertySSLPeerTrust=,KCFnetworkCfStreamsSlorOriginalValue=-9814,kCFStreamErrorDomainKey=3,kCFStreamErrorCodeKey=-9814,kCFStreamPropertySSLPeerCertificates={type=不可变,count=3,value=( 0 : 1 : 2 : )}}},NSLocalizedDescription=此服务器的证书无效。您可能正在连接假装为“www.googleapis.com”的服务器,这可能会使您的机密信息处于危险之中。NSErrorFailingURLKey={API-KEY},NSErrorFailingURLStringKey={API-KEY},NSErrorClientCertificateStateKey=0})

但我没能解决这个问题。我在HTTPS服务器信任评估中找到了苹果公司的技术说明TN2232,但坦率地说,还有很多工作要做,而我不确定我是否忘记了一件简单的附加事情

我了解到我可以禁用服务器信任。但这不是我的选择,因为这个应用程序应该在苹果商店中使用

有人面临同样的问题吗?或者有人知道如何解决这个问题吗

亲切的问候