我正在使用var user = {
primaryEmail: preferredEmail,
name: {
givenName: firstName,
familyName: lastName,
fullName: firstName + ' ' + lastName,
},
relations: {
value: reportingManager,
type: 'Manager',
},
organizations: {
title: designation,
primary: true,
department: dept,
description: employmentType,
costCenter: location,
},
password: password,
changePasswordAtNextLogin: 'true',
};
user = AdminDirectory.Users.insert(user);
Logger.log('User %s created with ID %s.', user.primaryEmail, user.id);
在存在自签名证书的测试环境中加载网页。
WKWebView
似乎无法加载该网页,因为证书存在以下问题:
ERR_CERT_COMMON_NAME_INVALID
使用Safari,iOS和macOS,如果我打开页面,都会收到以下消息:
如果我决定继续,则可以正确加载页面。相反,对于WKWebView
,没有API允许绕过这种检查。
我尝试通过使用以下代码段信任所有证书,但是什么也没有发生:
WKWebView
在我的func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
if let serverTrust = challenge.protectionSpace.serverTrust {
completionHandler(.useCredential, URLCredential(trust: serverTrust))
} else {
completionHandler(.cancelAuthenticationChallenge, nil)
}
}
文件中,我已经将Info.plist
设置为NSAllowsArbitraryLoadsInWebContent
,并与YES
设置为具有向后兼容性。
有什么主意吗?
答案 0 :(得分:0)
我找到了问题。
以前,我是使用这种技术注入第三方Cookie来加载网页的。
How to set WKWebView cookie accept policy?
在iOS 12中,由于https://bugs.webkit.org/show_bug.cgi?id=188691,此功能不再可用。
我正在四处寻找解决方案...