При обновлении версии XCode вы должны быть просто уверены, что не окажетесь в ситуации, когда вы больше не можете работать.
Вместо обновления XCode вы можете просто установить две версии XCode на одном и том же Mac и использовать обе версии, опробовав новую версию.
На данный момент вы можете вернуться к своему предыдущему Xcode , загрузив предыдущую версию здесь https://developer.apple.com/download/more,, распаковать архив, который вы скачаете, и скопировать файл приложения в папку «Приложения» в macOS.
То, что я бы предложил в качестве решения, прежде чем начать все обновление, поскольку вы не знаете, как все новые обновления модуля будут работать с вашей реализацией кода, это удалить Xcode 10.2 и вернуться к установке 10.1 или 10.0 (можно скачайте их по предыдущей ссылке).
В дальнейшем, когда ваш проект работает нормально и стабильно и вы хотите попробовать обновить все (Xcode, Swift и POD), вы должны прежде всего проверить, собирается ли ваш проект с вашим текущую версию Swift (версию Swift для вашего проекта в настоящий момент вы можете найти в Target> Build Settings> Swift Language Version).
В данный момент ваш проект не собирается, поэтому сделайте свой проект, используя предыдущую версию XCode, чтобы упростить свою жизнь, а также быть уверенным, что, обновляя все, что вы не получите в результате нарушенной функциональности других POD это могло бы изменить способ их реализации с вашим проектом.
Когда ваши проекты собираются без ошибок и вы хотите перейти на новую версию Swift
- Изучите последнюю версию ваших POD и какую версию Swift они поддерживают (зайдите на страницы проекта github или в cocoapods)
Попробуйте обновить только свой проект без обновления ваших POD , если это сработает, вы собираетесь обновить и ваши POD позже, чтобы убедиться, что ваши PODы остаются с текущей версией Swift, которая работает для вас ( скажем, сейчас Swift 3.2
например ) вы добавляете этот фрагмент в свой Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
Чтобы преобразовать только ваш проект в более новую версию Swift , перейдите к Edit -> Convert -> Convert to current swift syntax
Появится всплывающее окно со списком целей, включая модули. Отмените выбор всего, кроме цели проекта, юнит-тестов и тестов пользовательского интерфейса, и нажмите конвертировать. Подождите, пока проект создаст и сгенерирует предварительный просмотр и примените изменения. Исправьте все проблемы и предупреждения, созданные в соответствии с требованиями новой версии Swift.
Чтобы обновить все POD, которые поддерживают новую версию Swift вы обновили свой проект, сделайте это, используя правильную версию POD для каждого POD, который поддерживает более новую версию Swift, и для тот, который еще не поддерживает более новую версию Swift, вы можете заменить фрагмент кода в Podfile этим
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['UnsupportedPod1', 'RxSwift', 'RxCocoa'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
end