KevinnZou / compose-webview-multiplatform

WebView for JetBrains Compose Multiplatform
https://kevinnzou.github.io/compose-webview-multiplatform/
Apache License 2.0
448 stars 57 forks source link

IrLinkageError: Function 'UIKitView' cannot be called - No function found for symbol 'UIKitView' in Compose Multiplatform #222

Closed joelkanyi closed 1 week ago

joelkanyi commented 1 week ago

I am encountering a kotlin.native.internal.IrLinkageError when trying to run Compose Multiplatform code on iOS. The error occurs when opening a link on iOS, and the app crashes. However, everything works fine on the Android side.

Uncaught Kotlin exception: kotlin.native.internal.IrLinkageError: Function 'UIKitView' can not be called: No function found for symbol 'androidx.compose.ui.interop/UIKitView|UIKitView(kotlin.Function0<0:0>;androidx.compose.ui.Modifier;kotlin.Function1<0:0,kotlin.Unit>?;androidx.compose.ui.graphics.Color;kotlin.Function1<0:0,kotlin.Unit>?;kotlin.Function2<0:0,kotlinx.cinterop.CValue<platform.CoreGraphics.CGRect>,kotlin.Unit>?;kotlin.Boolean;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){0§<platform.UIKit.UIView>}[0]'
    at 0   TestApp                              0x1036f2eff        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119 
    at 1   TestApp                              0x1036ec153        kfun:kotlin.Error#<init>(kotlin.String?){} + 115 
    at 2   TestApp                              0x1037288c7        kfun:kotlin.native.internal.IrLinkageError#<init>(kotlin.String?){} + 115 
    at 3   TestApp                              0x10372898b        kfun:kotlin.native.internal#ThrowIrLinkageError(kotlin.String?){}kotlin.Nothing + 175 
    at 4   TestApp                              0x104c380c3        kfun:com.multiplatform.webview.web#IOSWebView(com.multiplatform.webview.web.WebViewState;androidx.compose.ui.Modifier;kotlin.Boolean;com.multiplatform.webview.web.WebViewNavigator;com.multiplatform.webview.jsbridge.WebViewJsBridge?;kotlin.Function1<platform.WebKit.WKWebView,kotlin.Unit>;kotlin.Function1<platform.WebKit.WKWebView,kotlin.Unit>;kotlin.Function1<com.multiplatform.webview.web.WebViewFactoryParam,platform.WebKit.WKWebView>;androidx.compose.runtime.Composer?;kotlin.Int){} + 3419 
    at 5   TestApp                              0x104c36903        kfun:com.multiplatform.webview.web#ActualWebView(com.multiplatform.webview.web.WebViewState;androidx.compose.ui.Modifier?;kotlin.Boolean;com.multiplatform.webview.web.WebViewNavigator?;com.multiplatform.webview.jsbridge.WebViewJsBridge?;kotlin.Function1<platform.WebKit.WKWebView,kotlin.Unit>?;kotlin.Function1<platform.WebKit.WKWebView,kotlin.Unit>?;kotlin.Function1<com.multiplatform.webview.web.WebViewFactoryParam,platform.WebKit.WKWebView>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 1995 
    at 6   TestApp                              0x104c13247        kfun:com.multiplatform.webview.web#WebView(com.multiplatform.webview.web.WebViewState;androidx.compose.ui.Modifier?;kotlin.Boolean;com.multiplatform.webview.web.WebViewNavigator?;com.multiplatform.webview.jsbridge.WebViewJsBridge?;kotlin.Function1<platform.WebKit.WKWebView,kotlin.Unit>?;kotlin.Function1<platform.WebKit.WKWebView,kotlin.Unit>?;kotlin.Function1<com.multiplatform.webview.web.WebViewFactoryParam,platform.WebKit.WKWebView>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 3315 
    ...

Version: compose-webview-multiplatform = "1.9.20" compose-multiplatform = "1.6.11" kotlin = "2.0.20"

KevinnZou commented 1 week ago

Please try out the latest release, version 1.9.40-alpha01.

joelkanyi commented 1 week ago

With 1.9.40-alpha01, it worked, thank you