мы создали фреймворк, который имеет несколько расширений (подвидов). Мы распространяем наш фреймворк как облегченный Pod без дополнительных подвидов.
& # x200B;
Однако, несмотря на то, что наши подспец настроены правильно, и клиент интегрирует их отдельно, но наш фреймворк падает, если клиент интегрирует облегченную версию без каких-либо дополнительных модулей. .. Ошибка говорит о том, что наш фреймворк не может ссылаться на другой фреймворк из подвидов в коде ...
Я делаю ссылочный код из подспецификации, но только между #, если canImport (необязательный каркас) . Почему тогда наш фреймворк падает?
Причина: изображение не найдено
& # x200B;
Наш подспец:
s.default_subspec = 'defaultSDK'
s.subspec 'defaultSDK' do |default|
default.vendored_frameworks = 'Default.framework'
end
s.subspec 'firstSubspec' do |first|
//accesses separate framework
first.dependency = 'First'
end
тогда в нашей платформе по умолчанию мы вызываем:
#if canImport(First)
import First
#endif
В нашем подфайле SDK по умолчанию мы включаем фреймворк firstSubspec, поскольку он также доступен как отдельный фреймворк
pod 'First'
И использовать ту же логику для вызова любых методов из First.framework.
Что не так с нашей структурой? Мы можем сделать это в Android ...: (