最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

android - Could not create instance of ViewModel using Koin - Stack Overflow

programmeradmin4浏览0评论

I'm trying to do a project in KMP, however, the app in the Android Version is working like a charm, but the iOS version crashes instantly.

Here is the (50% fully) error generated by xcode. I'm launching the app from xcode because i have some cocoapods dependencies for Maps :

[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
[DEBUG] [Koin] | << parameters
[DEBUG] [Koin] |- 'com.cdm.janaza.MainViewModel' in 5.529 ms
[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
[DEBUG] [Koin] |- 'com.cdm.janaza.core.presentation.navigation.NavigationViewModel'...
[DEBUG] [Koin] | >> parameters DefinitionParameters[]
[DEBUG] [Koin] |- ? t:'com.cdm.janaza.core.presentation.navigation.NavigationViewModel' - q:'null' look in injected parameters
[DEBUG] [Koin] | (+) '[Factory: 'com.cdm.janaza.core.presentation.navigation.NavigationViewModel']'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomBarService'...
[DEBUG] [Koin] | (+) '[Singleton: 'com.cdm.janaza.core.data.service.BottomBarServiceImpl',binds:com.cdm.janaza.core.domain.service.BottomBarService]'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomBarService' in 0.017 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService' in 0.004 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.ToastService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.ToastService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService'...
[DEBUG] [Koin] | (+) '[Singleton: 'com.cdm.janaza.core.data.service.BottomSheetServiceImpl',binds:com.cdm.janaza.core.domain.service.BottomSheetService]'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService' in 0.013 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.UserService'...
[DEBUG] [Koin] | (+) '[Singleton: 'com.cdm.janaza.core.data.service.UserServiceImpl',binds:com.cdm.janaza.core.domain.service.UserService]'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebaseUserRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebaseUserRepository' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebasePrayerRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebasePrayerRepository' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.UserService' in 0.045 ms
[DEBUG] [Koin] | << parameters
[DEBUG] [Koin] |- 'com.cdm.janaza.core.presentation.navigation.NavigationViewModel' in 0.718 ms
null
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1737758409.724080 13511090 config:230] gRPC experiments enabled: call_status_override_on_cancellation, http2_stats_fix, monitoring_experiment, pick_first_new, trace_record_callops, work_serializer_clears_time_cache
11.7.0 - [FirebaseFirestore][I-FST000001] AppCheck failed: 'The operation couldn’t be completed. The attestation provider DeviceCheckProvider is not supported on current platform and OS version.'
[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
Home
[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
[DEBUG] [Koin] |- 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel'...
[DEBUG] [Koin] | >> parameters DefinitionParameters[]
[DEBUG] [Koin] |- ? t:'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel' - q:'null' look in injected parameters
[DEBUG] [Koin] | (+) '[Factory: 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel']'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService' in 0.003 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.OverlayService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.OverlayService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository' in 0.003 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService' in 0.003 ms
[ERROR] [Koin] * Instance creation error : could not create instance for '[Factory: 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel']': kotlin.NullPointerException[kotlin.Exception]
[DEBUG] [Koin] | << parameters
Uncaught Kotlin exception: org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory: 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel']'
nw_endpoint_flow_failed_with_error [C1 2a00:1450:4006:80d::200a.443 failed parent-flow (unsatisfied (No network route))] already failing, returning
nw_connection_get_connected_socket_block_invoke [C1] Client called nw_connection_get_connected_socket on unconnected nw_connection
TCP Conn 0x600003306760 Failed : error 0:50 [50]
I0000 00:00:1737758409.843337 13511151 subchannel:806] subchannel 0x105745b90 {address=ipv6:%5B2a00:1450:4006:80d::200a%5D:443, args={grpc.client_channel_factory=0x60000002f5f0, grpc.default_authority=firestore.googleapis, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x600002634cc0, grpc.internal.client_channel_call_destination=0x114efb728, grpc.internal.event_engine=0x60000002fa00, grpc.internal.security_connector=0x600002c3bf00, grpc.internal.subchannel_pool=0x600002928cb0, grpc.keepalive_time_ms=30000, grpc.primary_user_agent=grpc-c++/1.65.1, grpc.resource_quota=0x600000ce6130, grpc.server_uri=dns:///firestore.googleapis}}: connect failed (UNKNOWN:(domain:NSPOSIXErrorDomain, code:50, description:The operation couldn’t be completed. Network is down) {grpc_status:2, created_time:"2025-01-24T23:40:09.843187+01:00", file_line:150, file:"/var/folders/hn/5bx1f4_d4ds5vhwhkxc7vdcr0000gn/T/ZipRelease/2024-07-25T04-01-28/project-ios/Pods/gRPC-Core/src/core/lib/transport/error_utils"}), backing off for 989 ms
    at 0   Janaza.debug.dylib                  0x1100e7797        kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 123 
    at 1   Janaza.debug.dylib                  0x111c2ec4b        kfun:org.koin.core.error.InstanceCreationException#<init>(kotlin.String;kotlin.Exception){} + 123 
    at 2   Janaza.debug.dylib                  0x111c30077        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.ResolutionContext){}1:0 + 1703 
    at 3   Janaza.debug.dylib                  0x111c2f8a7        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0 + 103 
    at 4   Janaza.debug.dylib                  0x111c4a467        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0-trampoline + 67 
    at 5   Janaza.debug.dylib                  0x111c3ac9f        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? + 343 
    at 6   Janaza.debug.dylib                  0x111c43757        kfun:org.koin.core.scope.Scope.resolveFromRegistry#internal + 323 
    at 7   Janaza.debug.dylib                  0x111c42bb7        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 1503 
    at 8   Janaza.debug.dylib                  0x111c41f1f        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 871 
    at 9   Janaza.debug.dylib                  0x111c41b6f        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 867 
    at 10  Janaza.debug.dylib                  0x111c41547        kfun:org.koin.core.scope.Scope.resolve#internal + 2271 
    at 11  Janaza.debug.dylib                  0x111c40c33        kfun:org.koin.core.scope.Scope#getWithParameters(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;org.koin.core.parameter.ParametersHolder?){0§<kotlin.Any?>}0:0 + 159 
    at 12  Janaza.debug.dylib                  0x111c4d203        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0 + 411 
    at 13  Janaza.debug.dylib                  0x110ecfac7        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  Janaza.debug.dylib                  0x110ecf213        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  Janaza.debug.dylib                  0x110ecb387        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0§<androidx.lifecycle.ViewModel>}0:0 + 1163 
    at 16  Janaza.debug.dylib                  0x110ecb5f7        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0§<androidx.lifecycle.ViewModel>}0:0 + 311 
    at 17  Janaza.debug.dylib                  0x110ecdfdb        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0§<androidx.lifecycle.ViewModel>}0:0 + 183 
    at 18  Janaza.debug.dylib                  0x111c4c487        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 + 711 
    at 19  Janaza.debug.dylib                  0x10fd88da7        kfun:com.cdm.janaza.feature_main.presentation.screen.home#Home(androidxpose.foundation.layout.PaddingValues;kotlin.Function0<kotlin.Unit>;kotlin.Function1<com.cdm.janaza.core.data.model.prayer.Prayer,kotlin.Unit>;androidxpose.runtime.Composer?;kotlin.Int){} + 5899 
    at 20  Janaza.debug.dylib                  0x10fc7cc8f        kfun:com.cdm.janaza.core.presentation.navigation.navHost.navGraphBuilder.screen.home$lambda$5#internal + 375 
    at 21  Janaza.debug.dylib                  0x10fc7cea7        kfun:com.cdm.janaza.core.presentation.navigation.navHost.navGraphBuilder.screen.$home$lambda$5$FUNCTION_REFERENCE$2.invoke#internal + 179 
    at 22  Janaza.debug.dylib                  0x10fc7d06f        kfun:com.cdm.janaza.core.presentation.navigation.navHost.navGraphBuilder.screen.$home$lambda$5$FUNCTION_REFERENCE$2.$<bridge-DNNNNNU>invoke(androidxpose.animation.AnimatedContentScope;androidx.navigation.NavBackStackEntry;androidxpose.runtime.Composer;kotlin.Int){}#internal + 231 
    at 23  Janaza.debug.dylib                  0x110247873        kfun:kotlin.Function4#invoke(1:0;1:1;1:2;1:3){}1:4-trampoline + 131 
    at 24  Janaza.debug.dylib                  0x1105e84b3        kfun:androidxpose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;kotlin.Any?;androidxpose.runtime.Composer;kotlin.Int){}kotlin.Any? + 687 
    at 25  Janaza.debug.dylib                  0x1105f605b        kfun:androidxpose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNNNU>invoke(kotlin.Any?;kotlin.Any?;androidxpose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;kotlin.Any?;androidxpose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 235 
    at 26  Janaza.debug.dylib                  0x110247873        kfun:kotlin.Function4#invoke(1:0;1:1;1:2;1:3){}1:4-trampoline + 131 
    at 27  Janaza.debug.dylib                  0x111c1e3f7        kfun:androidx.navigationpose.NavHost$lambda$41$lambda$40#internal + 659 
    at 28  Janaza.debug.dylib                  0x111c22423        kfun:androidx.navigationpose.$NavHost$lambda$41$lambda$40$FUNCTION_REFERENCE$37.invoke#internal + 119 
    at 29  Janaza.debug.dylib                  0x111c22577        kfun:androidx.navigationpose.$NavHost$lambda$41$lambda$40$FUNCTION_REFERENCE$37.$<bridge-DNNNU>invoke(androidxpose.runtime.Composer;kotlin.Int){}#internal + 159 
    at 30  Janaza.debug.dylib                  0x110239d67        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 
    at 31  Janaza.debug.dylib                  0x1105e7d9b        kfun:androidxpose.runtime.internal.ComposableLambdaImpl#invoke(androidxpose.runtime.Composer;kotlin.Int){}kotlin.Any? + 607 
    at 32  Janaza.debug.dylib                  0x1105f5e3f        kfun:androidxpose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNU>invoke(androidxpose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidxpose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163 
    at 33  Janaza.debug.dylib                  0x110239d67        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 
    at 34  Janaza.debug.dylib                  0x1104d3097        kfun:androidxpose.runtime#CompositionLocalProvider(androidxpose.runtime.ProvidedValue<*>;kotlin.Function2<androidxpose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidxpose.runtime.Composer?;kotlin.Int){} + 611 
    at 35  Janaza.debug.dylib                  0x110de9abf        kfun:androidxpose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider#internal + 2963 
    at 36  Janaza.debug.dylib                  0x110deed37        kfun:androidxpose.runtime.saveable.SaveableStateHolder#SaveableStateProvider(kotlin.Any;kotlin.Function2<androidxpose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidxpose.runtime.Composer?;kotlin.Int){}-trampoline + 123 
    at 37  Janaza.debug.dylib                  0x111c25d5b        kfun:androidx.navigationpose.SaveableStateProvider#internal + 1547 
    at 38  Janaza.debug.dylib                  0x111c26673        kfun:androidx.navigationpose.LocalOwnersProvider$lambda$0#internal + 475 
    at 39  Janaza.debug.dylib                  0x111c26a3f        kfun:androidx.navigationpose.$LocalOwnersProvider$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 119 
    at 40  Janaza.debug.dylib                  0x111c26b93        kfun:androidx.navigationpose.$LocalOwnersProvider$lambda$0$FUNCTION_REFERENCE$0.$<bridge-DNNNU>invoke(androidxpose.runtime.Composer;kotlin.Int){}#internal + 159 
    at 41  Janaza.debug.dylib                  0x110239d67        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidxpose.runtime.BroadcastFrameClock@da805e8, StandaloneCoroutine{Cancelling}@5daf340, FlushCoroutineDispatcher@db00f28]
        at 0   Janaza.debug.dylib                  0x1100ed6ab        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 99 
        at 1   Janaza.debug.dylib                  0x1100e7707        kfun:kotlin.Exception#<init>(kotlin.String?){} + 95 
        at 2   Janaza.debug.dylib                  0x1100e78d7        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 95 
        at 3   Janaza.debug.dylib                  0x11036009f        kfun:kotlinx.coroutines.internal.DiagnosticCoroutineContextException#<init>(kotlin.coroutines.CoroutineContext){} + 175 
        at 4   Janaza.debug.dylib                  0x110331197        kfun:kotlinx.coroutines.internal#handleUncaughtCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 667 
        at 5   Janaza.debug.dylib                  0x1102bab27        kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 563 
        at 6   Janaza.debug.dylib                  0x1102ae053        kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 167 
        at 7   Janaza.debug.dylib                  0x11036833f        kfun:kotlinx.coroutines.JobSupport#handleJobException(kotlin.Throwable){}kotlin.Boolean-trampoline + 59 
        at 8   Janaza.debug.dylib                  0x1102c599b        kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 1227 
        at 9   Janaza.debug.dylib                  0x1102ce3cb        kfun:kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath#internal + 2447 
        at 10  Janaza.debug.dylib                  0x1102cda03        kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 755 
        at 11  Janaza.debug.dylib                  0x1102cd50b        kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 451 
        at 12  Janaza.debug.dylib                  0x1102aa277        kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 203 
        at 13  Janaza.debug.dylib                  0x11023962f        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 99 
        at 14  Janaza.debug.dylib                  0x1100f2ca3        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1295 
        at 15  Janaza.debug.dylib                  0x11023962f                                         0xc353ffffffffffff 0x0 + -4371869338269908993 
Caused by: kotlin.NullPointerException
    at 0   Janaza.debug.dylib                  0x1100ed823        kfun:kotlin.Throwable#<init>(){} + 75 
    at 1   Janaza.debug.dylib                  0x1100e7693        kfun:kotlin.Exception#<init>(){} + 67 
    at 2   Janaza.debug.dylib                  0x1100e7863        kfun:kotlin.RuntimeException#<init>(){} + 67 
    at 3   Janaza.debug.dylib                  0x1100e7a33        

Here is my Koin setup:

fun initKoin(config: KoinAppDeclaration? = null) {
    startKoin {
        printLogger(Level.DEBUG)
        config?.invoke(this)
        modules(
            appModule,
            sharedRepositoryModule,
            viewModelModule
        )
    }
}

My MainViewController:

fun MainViewController() = ComposeUIViewController(
    configure = {
        initKoin()
        Firebase.initialize()
    }
) {
    App()
}

My ViewModelModule:

val viewModelModule = module {
    viewModelOf(::HomeViewModel)
}

My AppModule:

val appModule = module {
single { Firebase.firestore }
single { Firebase.messaging }
single { Firebase.auth }

single { createHttpClient() }

single(named("pray")) { providePrayerCollection(get()) }
single(named("user"))  { provideUserCollection(get()) }

singleOf(::OverlayServiceImpl).bind<OverlayService>()
singleOf(::BottomSheetServiceImpl).bind<BottomSheetService>()
singleOf(::ToastServiceImpl).bind<ToastService>()
singleOf(::BottomBarServiceImpl).bind<BottomBarService>()
singleOf(::AlertDialogServiceImpl).bind<AlertDialogService>()

singleOf(::PrayerServiceImpl).bind<PrayerService>()
singleOf(::UserServiceImpl).bind<UserService>()
singleOf(::AuthenticationServiceImpl).bind<AuthenticationService>()

single<FirebasePrayerRepository>{
    FirebasePrayerSourceImpl(
        prayerCollection = get(named("pray")),
        firebaseMessaging = get(),
        firebaseAuth = get()

    )
}
single<FirebaseUserRepository>{
    FirebaseUserSourceImpl(
        userCollection = get(named("user")),
        firebaseAuth = get()
    )
}
singleOf(::GooglePlacesRepositoryImpl).bind<GooglePlacesRepository>()
singleOf(::PrayersTimeRepositoryImpl).bind<PrayersTimeRepository>()
}

private fun providePrayerCollection(db: dev.gitlive.firebase.firestore.FirebaseFirestore) =
db.collection(if (isDebug) "dev_pray" else "pray")

private fun provideUserCollection(db: dev.gitlive.firebase.firestore.FirebaseFirestore) =
db.collection("user")

I'm trying to do a project in KMP, however, the app in the Android Version is working like a charm, but the iOS version crashes instantly.

Here is the (50% fully) error generated by xcode. I'm launching the app from xcode because i have some cocoapods dependencies for Maps :

[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
[DEBUG] [Koin] | << parameters
[DEBUG] [Koin] |- 'com.cdm.janaza.MainViewModel' in 5.529 ms
[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
[DEBUG] [Koin] |- 'com.cdm.janaza.core.presentation.navigation.NavigationViewModel'...
[DEBUG] [Koin] | >> parameters DefinitionParameters[]
[DEBUG] [Koin] |- ? t:'com.cdm.janaza.core.presentation.navigation.NavigationViewModel' - q:'null' look in injected parameters
[DEBUG] [Koin] | (+) '[Factory: 'com.cdm.janaza.core.presentation.navigation.NavigationViewModel']'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomBarService'...
[DEBUG] [Koin] | (+) '[Singleton: 'com.cdm.janaza.core.data.service.BottomBarServiceImpl',binds:com.cdm.janaza.core.domain.service.BottomBarService]'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomBarService' in 0.017 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService' in 0.004 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.ToastService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.ToastService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService'...
[DEBUG] [Koin] | (+) '[Singleton: 'com.cdm.janaza.core.data.service.BottomSheetServiceImpl',binds:com.cdm.janaza.core.domain.service.BottomSheetService]'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService' in 0.013 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.UserService'...
[DEBUG] [Koin] | (+) '[Singleton: 'com.cdm.janaza.core.data.service.UserServiceImpl',binds:com.cdm.janaza.core.domain.service.UserService]'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebaseUserRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebaseUserRepository' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebasePrayerRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.FirebasePrayerRepository' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.UserService' in 0.045 ms
[DEBUG] [Koin] | << parameters
[DEBUG] [Koin] |- 'com.cdm.janaza.core.presentation.navigation.NavigationViewModel' in 0.718 ms
null
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1737758409.724080 13511090 config.cc:230] gRPC experiments enabled: call_status_override_on_cancellation, http2_stats_fix, monitoring_experiment, pick_first_new, trace_record_callops, work_serializer_clears_time_cache
11.7.0 - [FirebaseFirestore][I-FST000001] AppCheck failed: 'The operation couldn’t be completed. The attestation provider DeviceCheckProvider is not supported on current platform and OS version.'
[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
Home
[INFO] [Koin] No Compose Koin context setup, taking default. Use KoinContext(), KoinAndroidContext() or KoinApplication() function to setup or create Koin context and avoid such message.
[DEBUG] [Koin] |- 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel'...
[DEBUG] [Koin] | >> parameters DefinitionParameters[]
[DEBUG] [Koin] |- ? t:'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel' - q:'null' look in injected parameters
[DEBUG] [Koin] | (+) '[Factory: 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel']'
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.AuthenticationService' in 0.003 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.PrayerService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.OverlayService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.OverlayService' in 0.002 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.repository.PreferencesDataStoreRepository' in 0.003 ms
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService'...
[DEBUG] [Koin] |- 'com.cdm.janaza.core.domain.service.BottomSheetService' in 0.003 ms
[ERROR] [Koin] * Instance creation error : could not create instance for '[Factory: 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel']': kotlin.NullPointerException[kotlin.Exception]
[DEBUG] [Koin] | << parameters
Uncaught Kotlin exception: org.koin.core.error.InstanceCreationException: Could not create instance for '[Factory: 'com.cdm.janaza.feature_main.presentation.screen.home.HomeViewModel']'
nw_endpoint_flow_failed_with_error [C1 2a00:1450:4006:80d::200a.443 failed parent-flow (unsatisfied (No network route))] already failing, returning
nw_connection_get_connected_socket_block_invoke [C1] Client called nw_connection_get_connected_socket on unconnected nw_connection
TCP Conn 0x600003306760 Failed : error 0:50 [50]
I0000 00:00:1737758409.843337 13511151 subchannel.cc:806] subchannel 0x105745b90 {address=ipv6:%5B2a00:1450:4006:80d::200a%5D:443, args={grpc.client_channel_factory=0x60000002f5f0, grpc.default_authority=firestore.googleapis.com, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x600002634cc0, grpc.internal.client_channel_call_destination=0x114efb728, grpc.internal.event_engine=0x60000002fa00, grpc.internal.security_connector=0x600002c3bf00, grpc.internal.subchannel_pool=0x600002928cb0, grpc.keepalive_time_ms=30000, grpc.primary_user_agent=grpc-c++/1.65.1, grpc.resource_quota=0x600000ce6130, grpc.server_uri=dns:///firestore.googleapis.com}}: connect failed (UNKNOWN:(domain:NSPOSIXErrorDomain, code:50, description:The operation couldn’t be completed. Network is down) {grpc_status:2, created_time:"2025-01-24T23:40:09.843187+01:00", file_line:150, file:"/var/folders/hn/5bx1f4_d4ds5vhwhkxc7vdcr0000gn/T/ZipRelease/2024-07-25T04-01-28/project-ios/Pods/gRPC-Core/src/core/lib/transport/error_utils.cc"}), backing off for 989 ms
    at 0   Janaza.debug.dylib                  0x1100e7797        kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 123 
    at 1   Janaza.debug.dylib                  0x111c2ec4b        kfun:org.koin.core.error.InstanceCreationException#<init>(kotlin.String;kotlin.Exception){} + 123 
    at 2   Janaza.debug.dylib                  0x111c30077        kfun:org.koin.core.instance.InstanceFactory#create(org.koin.core.instance.ResolutionContext){}1:0 + 1703 
    at 3   Janaza.debug.dylib                  0x111c2f8a7        kfun:org.koin.core.instance.FactoryInstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0 + 103 
    at 4   Janaza.debug.dylib                  0x111c4a467        kfun:org.koin.core.instance.InstanceFactory#get(org.koin.core.instance.ResolutionContext){}1:0-trampoline + 67 
    at 5   Janaza.debug.dylib                  0x111c3ac9f        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? + 343 
    at 6   Janaza.debug.dylib                  0x111c43757        kfun:org.koin.core.scope.Scope.resolveFromRegistry#internal + 323 
    at 7   Janaza.debug.dylib                  0x111c42bb7        kfun:org.koin.core.scope.Scope.resolveFromContext#internal + 1503 
    at 8   Janaza.debug.dylib                  0x111c41f1f        kfun:org.koin.core.scope.Scope.stackParametersCall#internal + 871 
    at 9   Janaza.debug.dylib                  0x111c41b6f        kfun:org.koin.core.scope.Scope.resolveInstance#internal + 867 
    at 10  Janaza.debug.dylib                  0x111c41547        kfun:org.koin.core.scope.Scope.resolve#internal + 2271 
    at 11  Janaza.debug.dylib                  0x111c40c33        kfun:org.koin.core.scope.Scope#getWithParameters(kotlin.reflect.KClass<*>;org.koin.core.qualifier.Qualifier?;org.koin.core.parameter.ParametersHolder?){0§<kotlin.Any?>}0:0 + 159 
    at 12  Janaza.debug.dylib                  0x111c4d203        kfun:org.koin.viewmodel.factory.KoinViewModelFactory#create(kotlin.reflect.KClass<0:0>;androidx.lifecycle.viewmodel.CreationExtras){0§<androidx.lifecycle.ViewModel>}0:0 + 411 
    at 13  Janaza.debug.dylib                  0x110ecfac7        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  Janaza.debug.dylib                  0x110ecf213        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  Janaza.debug.dylib                  0x110ecb387        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel(kotlin.reflect.KClass<0:0>;kotlin.String){0§<androidx.lifecycle.ViewModel>}0:0 + 1163 
    at 16  Janaza.debug.dylib                  0x110ecb5f7        kfun:androidx.lifecycle.viewmodel.ViewModelProviderImpl#getViewModel$default(kotlin.reflect.KClass<0:0>;kotlin.String?;kotlin.Int){0§<androidx.lifecycle.ViewModel>}0:0 + 311 
    at 17  Janaza.debug.dylib                  0x110ecdfdb        kfun:androidx.lifecycle.ViewModelProvider#get(kotlin.reflect.KClass<0:0>){0§<androidx.lifecycle.ViewModel>}0:0 + 183 
    at 18  Janaza.debug.dylib                  0x111c4c487        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 + 711 
    at 19  Janaza.debug.dylib                  0x10fd88da7        kfun:com.cdm.janaza.feature_main.presentation.screen.home#Home(androidx.compose.foundation.layout.PaddingValues;kotlin.Function0<kotlin.Unit>;kotlin.Function1<com.cdm.janaza.core.data.model.prayer.Prayer,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 5899 
    at 20  Janaza.debug.dylib                  0x10fc7cc8f        kfun:com.cdm.janaza.core.presentation.navigation.navHost.navGraphBuilder.screen.home$lambda$5#internal + 375 
    at 21  Janaza.debug.dylib                  0x10fc7cea7        kfun:com.cdm.janaza.core.presentation.navigation.navHost.navGraphBuilder.screen.$home$lambda$5$FUNCTION_REFERENCE$2.invoke#internal + 179 
    at 22  Janaza.debug.dylib                  0x10fc7d06f        kfun:com.cdm.janaza.core.presentation.navigation.navHost.navGraphBuilder.screen.$home$lambda$5$FUNCTION_REFERENCE$2.$<bridge-DNNNNNU>invoke(androidx.compose.animation.AnimatedContentScope;androidx.navigation.NavBackStackEntry;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 231 
    at 23  Janaza.debug.dylib                  0x110247873        kfun:kotlin.Function4#invoke(1:0;1:1;1:2;1:3){}1:4-trampoline + 131 
    at 24  Janaza.debug.dylib                  0x1105e84b3        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 687 
    at 25  Janaza.debug.dylib                  0x1105f605b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNNNU>invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 235 
    at 26  Janaza.debug.dylib                  0x110247873        kfun:kotlin.Function4#invoke(1:0;1:1;1:2;1:3){}1:4-trampoline + 131 
    at 27  Janaza.debug.dylib                  0x111c1e3f7        kfun:androidx.navigation.compose.NavHost$lambda$41$lambda$40#internal + 659 
    at 28  Janaza.debug.dylib                  0x111c22423        kfun:androidx.navigation.compose.$NavHost$lambda$41$lambda$40$FUNCTION_REFERENCE$37.invoke#internal + 119 
    at 29  Janaza.debug.dylib                  0x111c22577        kfun:androidx.navigation.compose.$NavHost$lambda$41$lambda$40$FUNCTION_REFERENCE$37.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 
    at 30  Janaza.debug.dylib                  0x110239d67        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 
    at 31  Janaza.debug.dylib                  0x1105e7d9b        kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 607 
    at 32  Janaza.debug.dylib                  0x1105f5e3f        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 33  Janaza.debug.dylib                  0x110239d67        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 
    at 34  Janaza.debug.dylib                  0x1104d3097        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){} + 611 
    at 35  Janaza.debug.dylib                  0x110de9abf        kfun:androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider#internal + 2963 
    at 36  Janaza.debug.dylib                  0x110deed37        kfun:androidx.compose.runtime.saveable.SaveableStateHolder#SaveableStateProvider(kotlin.Any;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){}-trampoline + 123 
    at 37  Janaza.debug.dylib                  0x111c25d5b        kfun:androidx.navigation.compose.SaveableStateProvider#internal + 1547 
    at 38  Janaza.debug.dylib                  0x111c26673        kfun:androidx.navigation.compose.LocalOwnersProvider$lambda$0#internal + 475 
    at 39  Janaza.debug.dylib                  0x111c26a3f        kfun:androidx.navigation.compose.$LocalOwnersProvider$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 119 
    at 40  Janaza.debug.dylib                  0x111c26b93        kfun:androidx.navigation.compose.$LocalOwnersProvider$lambda$0$FUNCTION_REFERENCE$0.$<bridge-DNNNU>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159 
    at 41  Janaza.debug.dylib                  0x110239d67        kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115 
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.BroadcastFrameClock@da805e8, StandaloneCoroutine{Cancelling}@5daf340, FlushCoroutineDispatcher@db00f28]
        at 0   Janaza.debug.dylib                  0x1100ed6ab        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 99 
        at 1   Janaza.debug.dylib                  0x1100e7707        kfun:kotlin.Exception#<init>(kotlin.String?){} + 95 
        at 2   Janaza.debug.dylib                  0x1100e78d7        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 95 
        at 3   Janaza.debug.dylib                  0x11036009f        kfun:kotlinx.coroutines.internal.DiagnosticCoroutineContextException#<init>(kotlin.coroutines.CoroutineContext){} + 175 
        at 4   Janaza.debug.dylib                  0x110331197        kfun:kotlinx.coroutines.internal#handleUncaughtCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 667 
        at 5   Janaza.debug.dylib                  0x1102bab27        kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 563 
        at 6   Janaza.debug.dylib                  0x1102ae053        kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 167 
        at 7   Janaza.debug.dylib                  0x11036833f        kfun:kotlinx.coroutines.JobSupport#handleJobException(kotlin.Throwable){}kotlin.Boolean-trampoline + 59 
        at 8   Janaza.debug.dylib                  0x1102c599b        kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 1227 
        at 9   Janaza.debug.dylib                  0x1102ce3cb        kfun:kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath#internal + 2447 
        at 10  Janaza.debug.dylib                  0x1102cda03        kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 755 
        at 11  Janaza.debug.dylib                  0x1102cd50b        kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 451 
        at 12  Janaza.debug.dylib                  0x1102aa277        kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 203 
        at 13  Janaza.debug.dylib                  0x11023962f        kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 99 
        at 14  Janaza.debug.dylib                  0x1100f2ca3        kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1295 
        at 15  Janaza.debug.dylib                  0x11023962f                                         0xc353ffffffffffff 0x0 + -4371869338269908993 
Caused by: kotlin.NullPointerException
    at 0   Janaza.debug.dylib                  0x1100ed823        kfun:kotlin.Throwable#<init>(){} + 75 
    at 1   Janaza.debug.dylib                  0x1100e7693        kfun:kotlin.Exception#<init>(){} + 67 
    at 2   Janaza.debug.dylib                  0x1100e7863        kfun:kotlin.RuntimeException#<init>(){} + 67 
    at 3   Janaza.debug.dylib                  0x1100e7a33        

Here is my Koin setup:

fun initKoin(config: KoinAppDeclaration? = null) {
    startKoin {
        printLogger(Level.DEBUG)
        config?.invoke(this)
        modules(
            appModule,
            sharedRepositoryModule,
            viewModelModule
        )
    }
}

My MainViewController:

fun MainViewController() = ComposeUIViewController(
    configure = {
        initKoin()
        Firebase.initialize()
    }
) {
    App()
}

My ViewModelModule:

val viewModelModule = module {
    viewModelOf(::HomeViewModel)
}

My AppModule:

val appModule = module {
single { Firebase.firestore }
single { Firebase.messaging }
single { Firebase.auth }

single { createHttpClient() }

single(named("pray")) { providePrayerCollection(get()) }
single(named("user"))  { provideUserCollection(get()) }

singleOf(::OverlayServiceImpl).bind<OverlayService>()
singleOf(::BottomSheetServiceImpl).bind<BottomSheetService>()
singleOf(::ToastServiceImpl).bind<ToastService>()
singleOf(::BottomBarServiceImpl).bind<BottomBarService>()
singleOf(::AlertDialogServiceImpl).bind<AlertDialogService>()

singleOf(::PrayerServiceImpl).bind<PrayerService>()
singleOf(::UserServiceImpl).bind<UserService>()
singleOf(::AuthenticationServiceImpl).bind<AuthenticationService>()

single<FirebasePrayerRepository>{
    FirebasePrayerSourceImpl(
        prayerCollection = get(named("pray")),
        firebaseMessaging = get(),
        firebaseAuth = get()

    )
}
single<FirebaseUserRepository>{
    FirebaseUserSourceImpl(
        userCollection = get(named("user")),
        firebaseAuth = get()
    )
}
singleOf(::GooglePlacesRepositoryImpl).bind<GooglePlacesRepository>()
singleOf(::PrayersTimeRepositoryImpl).bind<PrayersTimeRepository>()
}

private fun providePrayerCollection(db: dev.gitlive.firebase.firestore.FirebaseFirestore) =
db.collection(if (isDebug) "dev_pray" else "pray")

private fun provideUserCollection(db: dev.gitlive.firebase.firestore.FirebaseFirestore) =
db.collection("user")
Share Improve this question edited Jan 24 at 23:32 Mehdi.ncb asked Jan 24 at 22:54 Mehdi.ncbMehdi.ncb 3525 silver badges18 bronze badges 2
  • 1 Please edit your question to replace the error message with the full stacktrace. – tyg Commented Jan 24 at 23:14
  • I've updated my message. – Mehdi.ncb Commented Jan 24 at 23:32
Add a comment  | 

1 Answer 1

Reset to default 0

i found the problem.

I was using context(viewModelScope) with context-receiver, and it doesn't work with Koin. Either it doesn't work for the moment, either there is a special setup i didn't found !

发布评论

评论列表(0)

  1. 暂无评论