Вот моя проблема:
- Закрытый исходный код .framework, содержащий код Swift 4.2
- n количество версий Swift, которые официально поддерживают
- Структура проекта:
- Foo.framework (содержит Swift 4.x)
- libBar.a (содержит Swift 4.x)
- libBaz.a (содержит Swift 4.x)
Я создаю библиотеки libBar и libBaz из исходного кода, поэтому могу вносить изменения.
Что такоесамый простой способ собрать проект Foo.framework
несколько раз, каждый с различным компилятором Swift?Поскольку платформы Swift совместимы только при компиляции с тем же компилятором, с которым они созданы, мне потребуется 1 файл .framework для каждой версии Swift, которую я решил поддержать.
На первый взгляд, я рассмотрел grep
'все строки SWIFT_LANGUAGE_VERSION
и их изменение на целевую версию swift, а затем xcode-select
правильную версию Xcode, содержащую соответствующую версию компилятора swift.
Я посмотрел на cocoapods, нок сожалению, их cocoapods-packager пока не поддерживает упаковку фреймворков Swift, исходя из моего опыта.
Оглядываясь назад, я думаю, что, возможно, было бы более уместно написать код на Swift 4, поскольку он совместим с исходным кодом.путь к компилятору Swift 4.2, так что это то, что мне, вероятно, придется сделать здесь.