Я пытался связаться с сервисом с двухсторонним SSL.Ошибка двухстороннего SSL на WatchOS2.1, но тот же код работает на iOS9.1
Я обнаружил, что соединение было отменено сразу же после того, как клиент (часы) предоставить сертификат клиента, позвонив по телефону completeHandler(NSURLSessionAuthChallengeUseCredential, credential)
Ошибка получил это:
NSURLErrorDomain Code = -999 отменен
Но я пробовал использовать один и тот же код на телефоне, но это удалось. Кроме того, другие запросы отлично работают на часах.
Поскольку рамки WatchOS и iOS разные, мне интересно, может ли это быть проблемой для WatchOS? Или нужно что-то специально настроить для часов?
Вот код
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler
{
NSURLProtectionSpace *protectionSpace = [challenge protectionSpace];
NSString *authMethod = [protectionSpace authenticationMethod];
if (authMethod == NSURLAuthenticationMethodServerTrust) {
completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:serverTrust]);
} else if (authMethod == NSURLAuthenticationMethodClientCertificate) {
// cancelled immediately after calling the method below.
completionHandler(NSURLSessionAuthChallengeUseCredential, self.credential);
} else {
completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil);
}
}
Можете ли вы показать больше кодов? – Raptor