У меня есть проект android, в котором есть модуль Kotlin Native SharedCode. Цель состоит в том, чтобы разделить код между приложением android и приложением iOS.
У меня есть большой и сложный класс, который анализирует HTML с помощью библиотеки Jsoup. Я планировал использовать тот же класс в iOS, но делегировал работу по синтаксическому анализу библиотеке SwiftSoup, которая работает почти так же, как библиотека Jsoup.
Я переместил свой класс в модуль SharedCode, я внесла необходимые изменения (с фактическими, ожидаемыми и т. д.), и версия Android очень хорошо работает из этого модуля ShareCode. Учебник, которому я следовал, был этот учебник .
Модуль SharedCode был скомпилирован Android Studio, и я мог использовать его в XCode. Пока все хорошо.
Следующим шагом было включение SwiftSoup Cocoadpod в этот общий модуль, чтобы иметь возможность использовать этот модуль в Koltin Native. Я следил за этой документацией , и после некоторых начальных проблем мне удалось заставить ее работать.
Теперь нет необходимости создавать модуль SharedCode из Android Studio. Xcode запускает процесс сборки при создании приложения. Модуль Kotlin Native Shared включен как Cocoapod в проект Xcode, и он включает в себя cocoapod Swift soup, на который есть ссылка в файле build.gradle.kts.
После сборки приложения в Xcode Папка сборки создается ниже SharedCode / build. Затем я смогу импортировать пакет SwiftSoup в свой Kotlin Native класс, чтобы использовать его.
Действительно, если я напишу «import cocopapods.SwiftSoup», завершение кода сработает, и пакет будет найден . Но затем я получаю следующее сообщение об ошибке: «Пакеты не могут быть импортированы». При написании импорта функция завершения кода показывает некоторое содержимое ниже cocoapods.SwiftSoup, но не класс, который мне нужен. Только некоторые типы данных:
введите описание изображения здесь
Мне не хватает классов, содержащихся в этой библиотеке, таких как класс SwiftSoup.swift и т. Д.
Может быть, у кого-то есть представление о том, что я делаю неправильно.