Как правильно инициализировать Koin в приложении KMM на стороне iOS?IOS

Программируем под IOS
Anonymous
Как правильно инициализировать Koin в приложении KMM на стороне iOS?

Сообщение Anonymous »

Я работаю над многоплатформенным мобильным приложением Kotlin (KMM) и пытаюсь настроить внедрение зависимостей с помощью Koin. Сторона Android работает нормально, но у меня возникают проблемы при инициализации Koin на стороне iOS.
Вот что я сделал:
В iosMain я создал объект KoinHelper для обработки инициализации Koin:

Код: Выделить всё

object KoinHelper {
fun doInitKoin() {
IosModule.initKoin()
}
}

object IosModule {
fun initKoin() {
CommonModule.initKoin(iosPlatformModule())
}
}
Где CommonModule.initKoin() — это общая функция инициализации из общего модуля, а iosPlatformModule() — это модуль, специфичный для iOS.
На стороне Swift, в iOSApp, я пытаюсь вызвать инициализацию следующим образом:

Код: Выделить всё

extension KoinHelper {
func initKoin() {
KoinHelperKt.doInitKoin()
}
}

@main
struct iOSApp: App {
@State private var isOnboardingCompleted = false
private let viewModelHelper = OnboardingViewModelHelper()

init() {
// Initialize Koin when the app starts
KoinHelper().doInitKoin()
print("DEBUG: iOSApp - Koin initialized")
}

var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Проблема: при сборке в Xcode я получаю следующую ошибку:
Невозможно найти «KoinHelperKt» в области видимости
Изображение


Подробнее здесь: https://stackoverflow.com/questions/795 ... e-ios-side

Вернуться в «IOS»