Не удается определить, нажал ли пользователь кнопку «Отмена» во всплывающем окне «Вход в WKWebView с apple».

#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)   

Не мог бы кто-нибудь, пожалуйста, сказать мне, есть ли какой-либо способ определить, было ли закрыто всплывающее окно?