Как мне построить среду Swift с закрытым исходным кодом с несколькими компиляторами Swift? - PullRequest
0 голосов
/ 08 февраля 2019

Вот моя проблема:

  • Закрытый исходный код .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, так что это то, что мне, вероятно, придется сделать здесь.

...