Версия компилятора универсальной платформы iOS меняется после установки модуля - PullRequest
0 голосов
/ 05 ноября 2019

У меня возникла проблема с универсальным фреймворком в iOS (с закрытым исходным кодом).

При создании универсального фреймворка отображается * Сгенерировано Apple Swift версии 5.1.2 (swiftlang-1100.0). 278 clang-1100.0.33.9) * и работает нормально, если добавить фреймворк в проект

Но после загрузки его в git и использования pod для установки я получаю ошибку Модуль, скомпилированный с помощью Swift 5.0.1, не может быть импортирован компилятором Swift 5.1.2

Когда я проверял файл заголовка, я увидел // Создано в версии Apple Swift5.0.1 (swiftlang-1001.0.82.4 clang-1001.0.46.5)

При загрузке моего компилятора я понял, что проблема заключается в Swift версии 5.1.2 , что правильно, но после установки модуля каким-то образом оно меняется на Swift версии 5.0.1

Почему это меняется? и как я могу убедиться, что это не изменится?

podspec

Pod::Spec.new do |s|
s.platform = :ios, '11.0'
s.name = "xyz"
s.version = '1.0.5'
s.summary = 'xyz - Binaries'
s.description = 'Framework for xyz'
s.homepage = 'https://github.com/xyz/xyz'
s.license = { :type => 'MIT' }
s.author = 'https://github.com/Albinzr'
s.requires_arc = true
s.swift_version = '5.1'
s.source = { :http => 'https://github.com/xyz/SDK/blob/master/xyz.framework.zip?raw=true' }
s.ios.deployment_target = '11.0'
s.ios.vendored_frameworks = 'xyz.framework'
end

Ответы [ 2 ]

0 голосов
/ 15 ноября 2019

Начиная с версии CocoaPod 1.7 и выше, она изменяется на spec.swift_versions = ['3.2', '4.0', '4.2']. Проверить http://blog.cocoapods.org/CocoaPods-1.7.0-beta/

0 голосов
/ 15 ноября 2019

Вы видите эту проблему, потому что структура создается для распространения с Xcode 11.0 (с Swift 5.0). И вы создаете его локально с Xcode 11.2, который обновил Swift 5.1.2. Swift 5.1.2 несовместим с 5.0, но похоже, что будущие выпуски Swift будут совместимы с 5.0. Потому что они наконец-то представили Стабильность модуля Swift в 5.1.2.

Убедитесь, что CI / CD (или другая система распространения) работает с новейшим Xcode.

И убедитесь, что установили модули, используя pod install --repo-update. По умолчанию Cocoapods не обновляет репозиторий (потому что исторически этот процесс был медленным до того, как они представили CDN )

Надеюсь, это поможет!

...