当更新Xcode版本时,确保不会陷入无法工作的情况。
你可以在同一台Mac上安装两个版本的Xcode,并尝试使用新版本。
现在,你可以通过从此处https://developer.apple.com/download/more下载以前的版本来回到以前的Xcode。解压缩下载的存档文件并将App文件复制到macOS中的应用程序文件夹中。
在升级所有内容之前,我建议你先删除Xcode 10.2并返回安装10.1或10.0(可以从上面的链接下载)。
等项目构建完成且稳定后,你可以尝试升级所有内容(Xcode、Swift和PODs)。首先,检查项目能否使用当前的Swift版本构建,这个Swift版本可以在Target > Build Settings > Swift Language Version下找到。
如果此时项目无法构建,请使用之前的Xcode版本使其构建,以简化生活并确保通过升级不会出现破损功能,因为其他POD可能已更改其实现方式与你的项目配合使用。
当项目成功构建后并想要升级到新的Swift版本时:
- 研究你的PODs的最新版本以及它们支持的Swift版本。
- 尝试仅升级项目而不升级PODs。如果可以,请稍后再升级PODs,以确保它们保持与当前适用于你的Swift版本(例如,Swift 3.2)的版本一致。
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版本,请前往编辑 -> 转换 -> 转换为当前的swift语法
。弹出窗口将显示包括Pod在内的目标列表。取消选择除了您的项目目标、单元测试和UI测试之外的所有内容,然后按下转换按钮。等待项目构建并生成预览,应用更改。修复由新的Swift版本要求创建的所有问题和警告。
要更新支持新Swift版本的所有POD,您需要使用每个POD的正确版本,并且对于尚不支持新Swift版本的POD,您可以在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