Так что да, правильный способ решить эту проблему - go для каждого модуля, который может работать только на более низкой версии swift, и вручную изменить версию swift в меню сборки. Когда я запустил код автоматического обновления до swift 5, у меня возникла проблема, заключающаяся в том, что Xcode также изменил все модули на swift 5. Так как эти модули не могли работать на Swift 5, просто это приводило к ошибкам сборки.
Также в отношении моего примечания PS причина, по которой это произошло, заключалась в том, что одну из команд pods нужно было изменить на ту, которую они обновили в опциях установки.
Надеюсь, это поможет всем, кто сталкивался с этим проблема.
РЕДАКТИРОВАТЬ: Чтобы быть еще более точным в том, что происходит, это тот факт, что каждый раз, когда я запускаю pod install
, есть несколько модулей, которые возвращаются к Swift 5, когда он должен быть запущен в Swift 4. Это связано с тем, что авторы модулей не установили параметр swift_version
в качестве быстрой версии, которую модуль должен использовать. Это приводит к тому, что приложение не может быть скомпилировано с ошибками во время сборки.
, чтобы исправить это, добавьте этот код в ваш Podfile, и он будет каждый раз устанавливать версию swift вручную. Просто не забудьте удалить его для каждого модуля после их обновления, потому что вы перезапишете версию pod swift создателей (если они когда-нибудь захотят добавить ее)
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'KMPlaceholderTextView' || target.name == 'TagWriteView' || target.name == 'UILoadControl'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
end