答案 0 :(得分:3)
您的项目中是否有任何库?我认为您正在尝试使用依赖项隐蔽您的项目,而新的Swift版本在它们中存在问题。尝试取消选中项目以外的所有依赖项,并转换为新版本的Swift
答案 1 :(得分:0)
将所有依赖项(例如通过Cocoapods)升级到支持Swift 4.2的最新版本始终是一个好主意。就我而言,我还需要手动将Pod库的Swift语言版本构建设置从Swift 4更改为Swift 4.2,因为该lib仅在4.2中使用某些API。
答案 2 :(得分:0)
我也有问题。我在网上找到解决此问题的解决方案 https://ericasadun.com/2018/09/13/converting-projects-by-hand-to-4-2/
您尝试在pod文件中删除pod,然后在命令中再次安装pod,然后在文件夹项目中更新pod更新,然后转换为Swift 4.2。 如果不行,请在第二秒执行此操作。
您可以尝试在构建设置项目中执行此操作,或尝试在链接网络中执行操作。
答案 3 :(得分:0)
我有类似的问题,通过
解决了1-在所有应用和测试目标的构建设置中将swift lang版本更改为4.2
2-构建应用程序,将发生错误,例如将UIControlState重命名为UIControl.state
3-修复所有构建错误
4-我通过xcode更新了所有推荐设置
5-然后我要求xcode转换为swift4.2
答案 4 :(得分:0)
如here所述,
在处理目标时可能存在问题 对迁移过程产生负面影响。切换到报告 导航器,然后选择已添加的转换条目;这是 转换生成日志。检查日志中可能显示的错误 上。
如果看到有关无法对目标进行代码签名的错误,请尝试 从目标的构建设置中禁用代码签名。如果你 查看其他错误,请file a bug report并提供详细信息。 强烈建议您附加一个项目,以说明 如果可能的话,错误的迁移。