Вот код, который я использую для разрешения сертификата:
@interface NSURLRequest(DummyInterface)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end
@implementation NSURLRequest(DummyInterface)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return [host isEqualToString:@"mysite.com"];
}
@end
И я инициализирую свой WKWebView следующим образом:
NSURL *urlReq = [NSURL URLWithString:@"mysite.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:urlReq];
[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[urlReq host]];
WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
mainWebView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:theConfiguration];
[mainWebView setNavigationDelegate:self];
[mainWebView loadRequest:request];
Он отлично работает для http-сайта, но у меня есть эта ошибка при использовании https:
Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, выдающему себя за «mysite.com», что может подвергнуть риску вашу конфиденциальную информацию.
Это работало, когда я использовал UIWebView и реализовывал функцию «canAuthenticateAgainstProtectionSpace», но теперь я не понимаю, что мне нужно делать.
Я что-то упустил или WKWebView не может обрабатывать HTTPS?