WatchOS 3 WKApplicationRefrescarPlanos de FundoTask didReceiveDesafio

Finalmente, (ignorando o código de exemplo que nunca vi como trabalho anterior "tarefa de aplicativo recebida, inicie a sessão de URL"), consegui que meu código do WatchOS3 iniciasse uma tarefa de sessão de URL em segundo plano da seguinte maneira:

 func handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) {

    for task in backgroundTasks {
        if let refreshTask = task as? WKApplicationRefreshBackgroundTask {
            // this task is completed below, our app will then suspend while the download session runs
            print("application task received, start URL session")

            let request = self.getRequestForRefresh()
            let backgroundConfig = URLSessionConfiguration.background(withIdentifier: NSUUID().uuidString)
            backgroundConfig.sessionSendsLaunchEvents = true
            backgroundConfig.httpAdditionalHeaders = ["Accept":"application/json"]
            let urlSession = URLSession(configuration: backgroundConfig, delegate: self, delegateQueue: nil)
            let downloadTask = urlSession.downloadTask(with: request)

            print("Dispatching data task at \(self.getTimestamp())")
            downloadTask.resume()

            self.scheduleNextBackgroundRefresh(refreshDate: self.getNextPreferredRefreshDate())
            refreshTask.setTaskCompleted()
        }
        else if let urlTask = task as? WKURLSessionRefreshBackgroundTask {
            //awakened because background url task has completed
            let backgroundConfigObject = URLSessionConfiguration.background(withIdentifier: urlTask.sessionIdentifier)
            self.backgroundUrlSession = URLSession(configuration: backgroundConfigObject, delegate: self, delegateQueue: nil) //set to nil in task:didCompleteWithError: delegate method

            print("Rejoining session ", self.backgroundUrlSession as Any)
            self.pendingBackgroundURLTask = urlTask //Saved for .setTaskComplete() in downloadTask:didFinishDownloadingTo location: (or if error non nil in task:didCompleteWithError:) 

        } else {
            //else different task, not handling but must Complete all tasks (snapshot tasks hit this logic)
            task.setTaskCompleted()
        }
    }
}

No entanto, o problema que estou vendo agora é que meu método delegadourlSession:task:didReceiveChallenge: énunca sendo atingido, portanto, não consigo concluir o download. (Também adicionei o método urlSession: didReceiveChallenge: delegate no nível da sessão e ele também não está sendo atingido).

Em vez disso, eu bati imediatamente no meutask:didCompleteWithError: método delegado que possui o erro:

"O certificado para este servidor é inválido. Você pode estar se conectando a um servidor que está fingindo ser ... o que pode colocar suas informações confidenciais em risco."

Alguém recebeu a atualização da inspeção de segundo plano para trabalhar com o requisito adicional de atingir odidReceiveChallenge método durante a sessão de URL em segundo plano?

Qualquer ajuda ou conselho que você possa oferecer é apreciada.

questionAnswers(1)

yourAnswerToTheQuestion