Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SavedStateHandle cannot be created in iOS #2053

Open
corneloaie opened this issue Nov 13, 2024 · 4 comments
Open

SavedStateHandle cannot be created in iOS #2053

corneloaie opened this issue Nov 13, 2024 · 4 comments

Comments

@corneloaie
Copy link

This is what I get in my iOS app. On Android it works.

`Uncaught Kotlin exception: org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory: 'app.presentation.AppViewModel']'

at 0   RoTrafic.debug.dylib                0x10a63ddd3        kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 143 

at 1   RoTrafic.debug.dylib                0x10c158e87        kfun:org.koin.core.error.InstanceCreationException#<init>(kotlin.String;kotlin.Exception){} + 123 

at 2   RoTrafic.debug.dylib                0x10c15a19b        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.ResolutionContext){}1:0 + 1635 

at 3   RoTrafic.debug.dylib                0x10c1599ff        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0 + 103 

at 4   RoTrafic.debug.dylib                0x10c172a03        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0-trampoline + 71 

at 5   RoTrafic.debug.dylib                0x10c16447b        kfun:org.koin.core.registry.InstanceRegistry#resolveInstance(org.koin.core.qualifier.Qualifier?;kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier;org.koin.core.instance.ResolutionContext){0§<kotlin.Any?>}0:0? + 347 

at 6   RoTrafic.debug.dylib                0x10c16bf07        kfun:org.koin.core.scope.Scope.resolveFromRegistry#internal + 327 

at 7   RoTrafic.debug.dylib                0x10c16b40b        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 1339 

at 8   RoTrafic.debug.dylib                0x10c16a833        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 795 

at 9   RoTrafic.debug.dylib                0x10c16a4bf        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 791 

at 10  RoTrafic.debug.dylib                0x10c169a7b        kfun:org.koin.core.scope.Scope.resolveWithOptionalLogging#internal + 895 

at 11  RoTrafic.debug.dylib                0x10c1695cf        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0§<kotlin.Any?>}0:0 + 339 

at 12  RoTrafic.debug.dylib                0x10c176c0f        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0 + 451 

at 13  RoTrafic.debug.dylib                0x10b3624d3        kfun:androidx.lifecycle.ViewModelProvider.Factory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0-trampoline + 115 

at 14  RoTrafic.debug.dylib                0x10b361bef        kfun:androidx.lifecycle.viewmodel#createViewModel(androidx.lifecycle.ViewModelProvider.Factory;kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0 + 131 

at 15  RoTrafic.debug.dylib                0x10b35ddeb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0§<androidx.lifecycle.ViewModel>}0:0 + 839 

at 16  RoTrafic.debug.dylib                0x10b35dffb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0§<androidx.lifecycle.ViewModel>}0:0 + 327 

at 17  RoTrafic.debug.dylib                0x10b360a03        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0§<androidx.lifecycle.ViewModel>}0:0 + 199 

at 18  RoTrafic.debug.dylib                0x10c175a2f        kfun:org.koin.viewmodel#resolveViewModel(kotlin.reflect.KClass<0:0>;androidx.lifecycle.ViewModelStore;kotlin.String?;androidx.lifecycle.viewmodel.CreationExtras;org.koin.core.qualifier.Qualifier?;org.koin.core.scope.Scope;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0§<androidx.lifecycle.ViewModel>}0:0 + 879 

at 19  RoTrafic.debug.dylib                0x10a26a863        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$8#internal + 2635 

at 20  RoTrafic.debug.dylib                0x10a26b303        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.invoke#internal + 95 

at 21  RoTrafic.debug.dylib                0x10a26b3b7        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 22  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 23  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 24  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 25  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 26  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 27  RoTrafic.debug.dylib                0x10bd0e227        kfun:androidx.compose.material3#ProvideTextStyle(androidx.compose.ui.text.TextStyle;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1447 

at 28  RoTrafic.debug.dylib                0x10bc7f79b        kfun:androidx.compose.material3.MaterialTheme$lambda$1#internal + 607 

at 29  RoTrafic.debug.dylib                0x10bc7fb73        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 30  RoTrafic.debug.dylib                0x10bc7fcc7        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 31  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 32  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 33  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 34  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 35  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 36  RoTrafic.debug.dylib                0x10bc7e417        kfun:androidx.compose.material3#MaterialTheme(androidx.compose.material3.ColorScheme?;androidx.compose.material3.Shapes?;androidx.compose.material3.Typography?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 3831 

at 37  RoTrafic.debug.dylib                0x10a29320f        kfun:core.presentation.theme.InfoTrafficTheme$lambda$1#internal + 955 

at 38  RoTrafic.debug.dylib                0x10a2934fb        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 39  RoTrafic.debug.dylib                0x10a29364f        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 40  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 41  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 42  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 43  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 44  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 45  RoTrafic.debug.dylib                0x10a292c0b        kfun:core.presentation.theme#InfoTrafficTheme(kotlin.Boolean;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 2079 

at 46  RoTrafic.debug.dylib                0x10a26b0db        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$9#internal + 491 

at 47  RoTrafic.debug.dylib                0x10a26b453        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.invoke#internal + 95 

at 48  RoTrafic.debug.dylib                0x10a26b507        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 49  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 50  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 51  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 52  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 53  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 54  RoTrafic.debug.dylib                0x10c174987        kfun:org.koin.compose#KoinContext(org.koin.core.Koin?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 1939 

at 55  RoTrafic.debug.dylib                0x10a268383        kfun:app.presentation.ui#App(androidx.compose.runtime.Composer?;kotlin.Int){} + 551 

at 56  RoTrafic.debug.dylib                0x10a2ffd43        kfun:ComposableSingletons$MainViewControllerKt.<init>$lambda$0#internal + 419 

at 57  RoTrafic.debug.dylib                0x10a2ffe17        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 95 

at 58  RoTrafic.debug.dylib                0x10a2ffecb        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 59  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 60  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 61  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 62  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 63  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 64  RoTrafic.debug.dylib                0x10b59547f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.ProvideContainerCompositionLocals#internal + 1923 

at 65  RoTrafic.debug.dylib                0x10b5964b3        kfun:androidx.compose.ui.scene.ComposeHostingViewController.createMediator$lambda$4#internal + 503 

at 66  RoTrafic.debug.dylib                0x10b59820f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.invoke#internal + 115 

at 67  RoTrafic.debug.dylib                0x10b598337        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 68  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 69  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 70  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 71  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 72  RoTrafic.debug.dylib                0x10b5055c3        kfun:androidx.compose.ui.layout#OverlayLayout(androidx.compose.ui.Modifier;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 2995 

at 73  RoTrafic.debug.dylib                0x10b54c673        kfun:androidx.compose.ui.viewinterop#TrackInteropPlacementContainer__at__androidx.compose.ui.viewinterop.InteropContainer(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1899 

at 74  RoTrafic.debug.dylib                0x10b5a90e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14$lambda$13#internal + 531 

at 75  RoTrafic.debug.dylib                0x10b5aec03        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.invoke#internal + 119 

at 76  RoTrafic.debug.dylib                0x10b5aed57        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 77  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 78  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 79  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 80  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 81  RoTrafic.debug.dylib                0x10b5a370f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.FocusAboveKeyboardIfNeeded#internal + 5903 

at 82  RoTrafic.debug.dylib                0x10b5a93e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14#internal + 647 

at 83  RoTrafic.debug.dylib                0x10b5aee0b        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.invoke#internal + 119 

at 84  RoTrafic.debug.dylib                0x10b5aef5f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 85  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 86  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 87  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 88  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 89  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 90  RoTrafic.debug.dylib                0x10b5a1ea7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.ProvideComposeSceneMediatorCompositionLocals#internal + 1627 

at 91  RoTrafic.debug.dylib                0x10b5a96e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15#internal + 647 

at 92  RoTrafic.debug.dylib                0x10b5af013        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.invoke#internal + 119 

at 93  RoTrafic.debug.dylib                0x10b5af167        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 94  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 95  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 96  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 97  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 98  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 99  RoTrafic.debug.dylib                0x10b531717        kfun:androidx.compose.ui.scene.BaseComposeScene.setContent$lambda$0#internal + 543 

at 100 RoTrafic.debug.dylib                0x10b5325ef        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 119 

at 101 RoTrafic.debug.dylib                0x10b532743        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 102 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 103 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 104 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 105 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 106 RoTrafic.debug.dylib                0x10b4f0733        kfun:androidx.compose.ui.platform#ProvidePlatformCompositionLocals(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 783 

at 107 RoTrafic.debug.dylib                0x10b52af57        kfun:androidx.compose.ui.platform.setContent$lambda$3$lambda$2$lambda$1#internal + 463 

at 108 RoTrafic.debug.dylib                0x10b52be3b        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 115 

at 109 RoTrafic.debug.dylib                0x10b52bf63        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 110 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 111 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 112 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 113 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 114 RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 115 RoTrafic.debug.dylib                0x10b4bcd9b        kfun:androidx.compose.ui.platform#ProvideCommonCompositionLocals(androidx.compose.ui.node.Owner;androidx.compose.ui.platform.UriHandler;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 3947 

at 116 RoTrafic.debug.dylib                0x10b52b4d7        kfun:androidx.compose.ui.platform.setContent$lambda$3$lambda$2#internal + 1287 

at 117 RoTrafic.debug.dylib                0x10b52c017        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$FUNCTION_REFERENCE$4.invoke#internal + 119 

at 118 RoTrafic.debug.dylib                0x10b52c16b        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$FUNCTION_REFERENCE$4.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 119 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 120 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 121 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 122 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 123 RoTrafic.debug.dylib                0x10b52aaf7        kfun:androidx.compose.ui.platform.provide#internal + 1351 

at 124 RoTrafic.debug.dylib                0x10b52b817        kfun:androidx.compose.ui.platform.setContent$lambda$3#internal + 695 

at 125 RoTrafic.debug.dylib                0x10b52b9e3        kfun:androidx.compose.ui.platform.$setContent$lambda$3$FUNCTION_REFERENCE$0.invoke#internal + 123 

Caused by: kotlin.IllegalArgumentException: CreationExtras must have a value by SAVED_STATE_REGISTRY_OWNER_KEY

at 0   RoTrafic.debug.dylib                0x10a64497b        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119 

at 1   RoTrafic.debug.dylib                0x10a63dd2f        kfun:kotlin.Exception#<init>(kotlin.String?){} + 115 

at 2   RoTrafic.debug.dylib                0x10a63df4f        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 115 

at 3   RoTrafic.debug.dylib                0x10a63e2cf        kfun:kotlin.IllegalArgumentException#<init>(kotlin.String?){} + 115 

at 4   RoTrafic.debug.dylib                0x10bec0e33        kfun:androidx.lifecycle#createSavedStateHandle__at__androidx.lifecycle.viewmodel.CreationExtras(){}androidx.lifecycle.SavedStateHandle + 471 

at 5   RoTrafic.debug.dylib                0x10c176323        kfun:org.koin.viewmodel.factory.AndroidParametersHolder.createSavedStateHandleOrElse#internal + 227 

at 6   RoTrafic.debug.dylib                0x10c1761f3        kfun:org.koin.viewmodel.factory.AndroidParametersHolder#getOrNull(kotlin.reflect.KClass<*>){0§<kotlin.Any?>}0:0? + 247 

at 7   RoTrafic.debug.dylib                0x10c172ec3        kfun:org.koin.core.parameter.ParametersHolder#getOrNull(kotlin.reflect.KClass<*>){0§<kotlin.Any?>}0:0?-trampoline + 71 

at 8   RoTrafic.debug.dylib                0x10c16b6b3        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 2019 

at 9   RoTrafic.debug.dylib                0x10c16a6a3        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 395 

at 10  RoTrafic.debug.dylib                0x10c16a4bf        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 791 

at 11  RoTrafic.debug.dylib                0x10c169a7b        kfun:org.koin.core.scope.Scope.resolveWithOptionalLogging#internal + 895 

at 12  RoTrafic.debug.dylib                0x10c1695cf        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0§<kotlin.Any?>}0:0 + 339 


at 13  RoTrafic.debug.dylib                0x10a25ac4f        kfun:app.data.di.appModule$lambda$2$lambda$0#internal + 527 

at 14  RoTrafic.debug.dylib                0x10a25b877        kfun:app.data.di.$appModule$lambda$2$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 115 

at 15  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 16  RoTrafic.debug.dylib                0x10c159eeb        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.ResolutionContext){}1:0 + 947 

at 17  RoTrafic.debug.dylib                0x10c1599ff        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0 + 103 

at 18  RoTrafic.debug.dylib                0x10c172a03        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0-trampoline + 71 

at 19  RoTrafic.debug.dylib                0x10c16447b        kfun:org.koin.core.registry.InstanceRegistry#resolveInstance(org.koin.core.qualifier.Qualifier?;kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier;org.koin.core.instance.ResolutionContext){0§<kotlin.Any?>}0:0? + 347 

at 20  RoTrafic.debug.dylib                0x10c16bf07        kfun:org.koin.core.scope.Scope.resolveFromRegistry#internal + 327 

at 21  RoTrafic.debug.dylib                0x10c16b40b        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 1339 

at 22  RoTrafic.debug.dylib                0x10c16a833        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 795 

at 23  RoTrafic.debug.dylib                0x10c16a4bf        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 791 

at 24  RoTrafic.debug.dylib                0x10c169a7b        kfun:org.koin.core.scope.Scope.resolveWithOptionalLogging#internal + 895 

at 25  RoTrafic.debug.dylib                0x10c1695cf        kfun:org.koin.core.scope.Scope#get(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0§<kotlin.Any?>}0:0 + 339 

at 26  RoTrafic.debug.dylib                0x10c176c0f        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0 + 451 

at 27  RoTrafic.debug.dylib                0x10b3624d3        kfun:androidx.lifecycle.ViewModelProvider.Factory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0-trampoline + 115 

at 28  RoTrafic.debug.dylib                0x10b361bef        kfun:androidx.lifecycle.viewmodel#createViewModel(androidx.lifecycle.ViewModelProvider.Factory;kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0 + 131 

at 29  RoTrafic.debug.dylib                0x10b35ddeb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0§<androidx.lifecycle.ViewModel>}0:0 + 839 

at 30  RoTrafic.debug.dylib                0x10b35dffb        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0§<androidx.lifecycle.ViewModel>}0:0 + 327 

at 31  RoTrafic.debug.dylib                0x10b360a03        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0§<androidx.lifecycle.ViewModel>}0:0 + 199 

at 32  RoTrafic.debug.dylib                0x10c175a2f        kfun:org.koin.viewmodel#resolveViewModel(kotlin.reflect.KClass<0:0>;androidx.lifecycle.ViewModelStore;kotlin.String?;androidx.lifecycle.viewmodel.CreationExtras;org.koin.core.qualifier.Qualifier?;org.koin.core.scope.Scope;kotlin.Function0<org.koin.core.parameter.ParametersHolder>?){0§<androidx.lifecycle.ViewModel>}0:0 + 879 

at 33  RoTrafic.debug.dylib                0x10a26a863        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$8#internal + 2635 

at 34  RoTrafic.debug.dylib                0x10a26b303        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.invoke#internal + 95 

at 35  RoTrafic.debug.dylib                0x10a26b3b7        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$8$FUNCTION_REFERENCE$2.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 36  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 37  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 38  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 39  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 40  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 41  RoTrafic.debug.dylib                0x10bd0e227        kfun:androidx.compose.material3#ProvideTextStyle(androidx.compose.ui.text.TextStyle;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1447 

at 42  RoTrafic.debug.dylib                0x10bc7f79b        kfun:androidx.compose.material3.MaterialTheme$lambda$1#internal + 607 

at 43  RoTrafic.debug.dylib                0x10bc7fb73        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 44  RoTrafic.debug.dylib                0x10bc7fcc7        kfun:androidx.compose.material3.$MaterialTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 45  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 46  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 47  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 48  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 49  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 50  RoTrafic.debug.dylib                0x10bc7e417        kfun:androidx.compose.material3#MaterialTheme(androidx.compose.material3.ColorScheme?;androidx.compose.material3.Shapes?;androidx.compose.material3.Typography?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 3831 

at 51  RoTrafic.debug.dylib                0x10a29320f        kfun:core.presentation.theme.InfoTrafficTheme$lambda$1#internal + 955 

at 52  RoTrafic.debug.dylib                0x10a2934fb        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.invoke#internal + 119 

at 53  RoTrafic.debug.dylib                0x10a29364f        kfun:core.presentation.theme.$InfoTrafficTheme$lambda$1$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 54  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 55  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 56  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 57  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 58  RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 59  RoTrafic.debug.dylib                0x10a292c0b        kfun:core.presentation.theme#InfoTrafficTheme(kotlin.Boolean;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 2079 

at 60  RoTrafic.debug.dylib                0x10a26b0db        kfun:app.presentation.ui.ComposableSingletons$AppKt.<init>$lambda$9#internal + 491 

at 61  RoTrafic.debug.dylib                0x10a26b453        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.invoke#internal + 95 

at 62  RoTrafic.debug.dylib                0x10a26b507        kfun:app.presentation.ui.ComposableSingletons$AppKt.$<init>$lambda$9$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 63  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 64  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 65  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 66  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 67  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 68  RoTrafic.debug.dylib                0x10c174987        kfun:org.koin.compose#KoinContext(org.koin.core.Koin?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){} + 1939 

at 69  RoTrafic.debug.dylib                0x10a268383        kfun:app.presentation.ui#App(androidx.compose.runtime.Composer?;kotlin.Int){} + 551 

at 70  RoTrafic.debug.dylib                0x10a2ffd43        kfun:ComposableSingletons$MainViewControllerKt.<init>$lambda$0#internal + 419 

at 71  RoTrafic.debug.dylib                0x10a2ffe17        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 95 

at 72  RoTrafic.debug.dylib                0x10a2ffecb        kfun:ComposableSingletons$MainViewControllerKt.$<init>$lambda$0$FUNCTION_REFERENCE$1.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 73  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 74  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 75  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 76  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 77  RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 78  RoTrafic.debug.dylib                0x10b59547f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.ProvideContainerCompositionLocals#internal + 1923 

at 79  RoTrafic.debug.dylib                0x10b5964b3        kfun:androidx.compose.ui.scene.ComposeHostingViewController.createMediator$lambda$4#internal + 503 

at 80  RoTrafic.debug.dylib                0x10b59820f        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.invoke#internal + 115 

at 81  RoTrafic.debug.dylib                0x10b598337        kfun:androidx.compose.ui.scene.ComposeHostingViewController.$createMediator$lambda$4$FUNCTION_REFERENCE$7.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 82  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 83  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 84  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 85  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 86  RoTrafic.debug.dylib                0x10b5055c3        kfun:androidx.compose.ui.layout#OverlayLayout(androidx.compose.ui.Modifier;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 2995 

at 87  RoTrafic.debug.dylib                0x10b54c673        kfun:androidx.compose.ui.viewinterop#TrackInteropPlacementContainer__at__androidx.compose.ui.viewinterop.InteropContainer(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 1899 

at 88  RoTrafic.debug.dylib                0x10b5a90e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14$lambda$13#internal + 531 

at 89  RoTrafic.debug.dylib                0x10b5aec03        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.invoke#internal + 119 

at 90  RoTrafic.debug.dylib                0x10b5aed57        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$lambda$13$FUNCTION_REFERENCE$52.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 91  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 92  RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 93  RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 94  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 95  RoTrafic.debug.dylib                0x10b5a370f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.FocusAboveKeyboardIfNeeded#internal + 5903 

at 96  RoTrafic.debug.dylib                0x10b5a93e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15$lambda$14#internal + 647 

at 97  RoTrafic.debug.dylib                0x10b5aee0b        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.invoke#internal + 119 

at 98  RoTrafic.debug.dylib                0x10b5aef5f        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$lambda$14$FUNCTION_REFERENCE$53.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 99  RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 100 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 101 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 102 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 103 RoTrafic.debug.dylib                0x10a9907f3        kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 104 RoTrafic.debug.dylib                0x10b5a1ea7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.ProvideComposeSceneMediatorCompositionLocals#internal + 1627 

at 105 RoTrafic.debug.dylib                0x10b5a96e7        kfun:androidx.compose.ui.scene.ComposeSceneMediator.setContent$lambda$16$lambda$15#internal + 647 

at 106 RoTrafic.debug.dylib                0x10b5af013        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.invoke#internal + 119 

at 107 RoTrafic.debug.dylib                0x10b5af167        kfun:androidx.compose.ui.scene.ComposeSceneMediator.$setContent$lambda$16$lambda$15$FUNCTION_REFERENCE$54.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 108 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 109 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 110 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 111 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 112 RoTrafic.debug.dylib                0x10a990b8f        kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 615 

at 113 RoTrafic.debug.dylib                0x10b531717        kfun:androidx.compose.ui.scene.BaseComposeScene.setContent$lambda$0#internal + 543 

at 114 RoTrafic.debug.dylib                0x10b5325ef        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.invoke#internal + 119 

at 115 RoTrafic.debug.dylib                0x10b532743        kfun:androidx.compose.ui.scene.BaseComposeScene.$setContent$lambda$0$FUNCTION_REFERENCE$10.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 116 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 117 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603 

at 118 RoTrafic.debug.dylib                0x10aaab19f        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 

at 119 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 120 RoTrafic.debug.dylib                0x10b4f0733        kfun:androidx.compose.ui.platform#ProvidePlatformCompositionLocals(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 783 

at 121 RoTrafic.debug.dylib                0x10b52af57        kfun:androidx.compose.ui.platform.setContent$lambda$3$lambda$2$lambda$1#internal + 463 

at 122 RoTrafic.debug.dylib                0x10b52be3b        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.invoke#internal + 115 

at 123 RoTrafic.debug.dylib                0x10b52bf63        kfun:androidx.compose.ui.platform.$setContent$lambda$3$lambda$2$lambda$1$FUNCTION_REFERENCE$3.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 

at 124 RoTrafic.debug.dylib                0x10a79ed0b        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 

at 125 RoTrafic.debug.dylib                0x10aa9c72b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603`

Koin module and version:
Koin version : 4.0.0 (Latest)
compose.plugin: 1.7.1
[lifecycle-viewmodel](org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose): 2.8.4
[navigation](org.jetbrains.androidx.navigation:navigation-compose): 2.8.0-alpha10

Snippet or Sample project to help reproduce
in commonMain

    includes(featuresModules)
    viewModelOf(::AppViewModel)
    single { AppState() }
}```

```@Composable
fun App() {
    KoinContext {
        InfoTrafficTheme {
            val snackbarHostState = remember { SnackbarHostState() }
            val appViewModel = koinViewModel<AppViewModel>()
            val state by appViewModel.uiState.collectAsStateWithLifecycle()
            ....```
@corneloaie corneloaie changed the title SavedStateHandle not injected in iOS SavedStateHandle cannot be created in iOS Nov 13, 2024
@jihyeonbaem
Copy link

jihyeonbaem commented Nov 14, 2024

@corneloaie in my case ios it works too.

libs version is same

viewmodelOf(::ExampleViewModel)

class ExampleViewModel(
    savedStateHandle: SavedStateHandle,
) : ViewModel() {

@Composable
fun ExampleScreen(
    viewModel: ExampleViewModel = koinViewModel(),
)

@corneloaie
Copy link
Author

corneloaie commented Nov 15, 2024

For me is always the same error in iOS

11-15 11:39:08.763 💚 DEBUG [Koin] - |- 'androidx.lifecycle.SavedStateHandle'...

11-15 11:39:08.763 💚 DEBUG [Koin] - |- ? t:'androidx.lifecycle.SavedStateHandle' - q:'null' look in stack parameters

11-15 11:39:08.763 ❤️ ERROR [Koin] - * Instance creation error : could not create instance for '[Factory: 'app.presentation.AppViewModel']': kotlin.IllegalArgumentException: CreationExtras must have a value by `SAVED_STATE_REGISTRY_OWNER_KEY`[kotlin.Exception]
fun initKoin() {
    startKoin {
        modules(appModule)
        logger(CommonLogger(level = Level.DEBUG))
    }
}
@main
struct iOSApp: App {

    @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

    init() {
        HelperKt.doInitKoin()
        HelperKt.debugBuild()
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
class AppViewModel(
    initialState: AppState,
    savedStateHandle: SavedStateHandle,
) : BaseViewModelM<AppState>(
    initialState = initialState,
    savedStateHandle = savedStateHandle,
) {

@arnaudgiuliani
Copy link
Member

ok, need to check with more recent library update. Google just ported SSH in KMP part.

@corneloaie
Copy link
Author

@arnaudgiuliani I know the root cause of the issue.
On iOS only works if the viewModel is instantiated inside a NavHost. In my implementation the AppViewModel was directly in the App().

Initial Implementation:

fun App() {
    KoinContext {
        InfoTrafficTheme {
            val snackbarHostState = remember { SnackbarHostState() }
            val appViewModel = koinViewModel<AppViewModel>()
            val state by appViewModel.uiState.collectAsStateWithLifecycle()
            Scaffold(...) {
                MyNavHost(...)
            }

Quickfix Implementation:

fun App() {
    KoinContext {
        InfoTrafficTheme {
        val rootNavController: NavHostController = rememberNavController()
            NavHost(navController = rootNavController, startDestination = "ROOT") {
                composable(route = "ROOT") {
            val snackbarHostState = remember { SnackbarHostState() }
            val appViewModel = koinViewModel<AppViewModel>()
            val state by appViewModel.uiState.collectAsStateWithLifecycle()
            Scaffold(...) {
                MyNavHost(...)
            }
         }
     }
            ```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants