Len*_*a V 2 xcode realm cocoapods swift
我有一个Xcode项目,其中包含用Swift 4.2编写的cocoapods(RealmSwift)。
此后,我已将Xcode更新为10.2,现在系统提示我将我的代码(和RealmSwift代码)转换为Swift 5,并且正在为Realm Swift生成大量警告(即,“ public”修饰符对于声明的实例方法是多余的)在公共扩展中)。
更新Cocoapods代码的正确方法是什么?我是否需要指定/升级到RealmSwift的较新版本(以及我怎么知道它与Swift 5兼容?),或者如果我不想升级到Swift 5,是否有建议的抑制警告的方式?
任何有关处理xcode / swift / cocoapods更新的最佳方法的文档的指针,将不胜感激。
在更新Xcode版本时,您应该确保不会遇到无法工作的情况。
无需更新Xcode,您可以在同一Mac上安装两个版本的Xcode,并通过试用新版本来使用它们。
现在,您可以通过在https://developer.apple.com/download/more上下载以前的版本来返回到以前的Xcode,提取要下载的档案并将App文件复制到macOS中的Applications文件夹中。
我建议您在开始升级所有内容之前作为解决方案,因为您不知道所有新的pod更新将如何与您的代码实现一起使用,是删除Xcode 10.2并返回安装10.1或10.0(可以从以下位置下载它们)前一个链接)。
稍后,当您的项目构建良好且稳定时,您想尝试升级所有内容(Xcode,Swift和POD),则应首先检查您的项目是否使用当前的Swift版本(该Swift版本是您的当前设置的项目可以在“目标”>“构建设置”>“ Swift语言版本”下找到。
目前,您的项目尚未构建,因此,请使用以前的Xcode版本来构建项目,以使您的生活更轻松,并确保通过升级所有内容,最终不会导致其他POD破坏功能更改了其实现与项目一起工作的方式。
当您的项目构建没有错误并且您想要升级到Swift的新版本时
尝试仅升级项目而不升级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
Run Code Online (Sandbox Code Playgroud)要将您的项目仅转换为较新的Swift版本,请转至Edit -> Convert -> Convert to current swift syntax。弹出窗口将显示目标列表,包括吊舱。取消选择除项目目标,单元测试和UI测试以外的所有内容,然后按Convert。等待项目生成并生成预览并应用更改。修复新的Swift版本要求所产生的所有问题和警告。
要更新所有支持新Swift版本的POD,请为每个支持新Swift版本的POD和不支持新Swift版本的POD使用正确的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
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
2404 次 |
| 最近记录: |