#ios #swift #wkwebview #sign-in-with-apple
Вопрос:
У меня есть WKWebView, который загружает URL типа «https://appleid.apple.com/auth/authorize?response_type=codeamp;client_id=…amp;redirect_uri=…amp;response_mode=…» и так далее. Когда он загружен, я вижу всплывающее окно apple auth, подобное этому
Я хочу закрыть ViewController с помощью этого веб-представления, если пользователь нажмет «Отмена» в этом всплывающем окне, но я не могу обнаружить это событие. Добавление прослушивателя событий, подобного этому, не работает:
let config = WKWebViewConfiguration() let source = "document.addEventListener('AppleIDSignInOnFailure', (error) =gt; { window.webkit.messageHandlers.iosListener.postMessage('Got error'); })" let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: false) config.userContentController.addUserScript(script) config.userContentController.add(self, name: "iosListener") webView = WKWebView(frame: .zero, configuration: config)
Не мог бы кто-нибудь, пожалуйста, сказать мне, есть ли какой-либо способ определить, было ли закрыто всплывающее окно?