Как правильно инициализировать 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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