alekop opened a new issue #1163:
URL: https://github.com/apache/cordova-ios/issues/1163
Native SwiftUI app with embedded Cordova Web view. Loads fine using the file
scheme, but I would like to use a custom scheme in order to establish a secure
context. I've added the scheme and hostname preferences to config.xml file:
<preference name="scheme" value="app" />
<preference name="hostname" value="localhost" />
`CDVWebViewEngine.pluginInitialize` creates the scheme handler, and attaches
it to the configuration:
self.schemeHandler = [[CDVURLSchemeHandler alloc] initWithVC:vc];
[configuration setURLSchemeHandler:self.schemeHandler
forURLScheme:scheme];
Finally, `CDVWebViewEngine.loadRequest` calls WKWebView.loadRequest with
"app://localhost/index.html"... But the
`CDVURLSchemeHandler.startURLSchemeTask` method is never called, and the web
view remains on about:blank. Tried setting location.href manually (via the
Safari dev tools), but nothing loads.
The view controller is exposed to SwiftUI like so:
class CordovaWebViewController: CDVViewController {
init() {
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
}
struct CordovaWebView: UIViewControllerRepresentable {
typealias UIViewControllerType = CordovaWebViewController
func makeUIViewController(context: Context) ->
CordovaWebViewController {
CordovaWebViewController()
}
func updateUIViewController(_ uiViewController:
CordovaWebViewController, context: Context) {
}
}
And used like this:
```
struct ContentView: View {
var body: some View {
CordovaWebView()
}
}
```
Is there anything extra I need to do for an embedded view?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]