Вступить в клуб →
сложнаявопросKotlin Multiplatform: общий код для Android и iOS

Два KMP-фреймворка в iOS-приложении не могут передать друг другу объект User

Модули auth и orders собраны в iOS как два отдельных фреймворка — Auth.framework и Orders.framework. Оба зависят от общего модуля core с классом User. В Swift authService.currentUser() возвращает AuthUser, а ordersService.load(user:) ждёт OrdersUser — типы несовместимы. Размер приложения при этом вырос сильнее ожидаемого. Как правильно?

  • Один зонтичный фреймворк, экспортирующий модули
  • Приводить типы в Swift через unsafeBitCast
  • Сделать User протоколом на стороне Swift
  • Выложить core отдельным третьим фреймворком

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела