Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何将我的Swift代码转换回2.3_Xcode_Swift_Swift3 - Fatal编程技术网

Xcode 如何将我的Swift代码转换回2.3

Xcode 如何将我的Swift代码转换回2.3,xcode,swift,swift3,Xcode,Swift,Swift3,我下载了XCode Beta 8,并将所有swift代码从swift 2.3转换为swift 3。它给我带来了太多的问题,让我开始了一个我已经工作了大约4个月的项目。如何将我的代码从Swift 3转换回Swift 2.3 首先,保存当前项目的备份。现在 接下来,你是说斯威夫特2.2,对吗? 如果您没有备份,并且没有使用版本控制系统,我认为唯一的方法是使用Xcode 7.3.1打开您的项目并手动修复错误,以便使代码再次与Swift 2.2兼容 如果你幸运的话 即使您认为您没有使用版本控制,Xcod

我下载了XCode Beta 8,并将所有swift代码从swift 2.3转换为swift 3。它给我带来了太多的问题,让我开始了一个我已经工作了大约4个月的项目。如何将我的代码从Swift 3转换回Swift 2.3

首先,保存当前项目的备份。现在

接下来,你是说斯威夫特2.2,对吗? 如果您没有备份,并且没有使用版本控制系统,我认为唯一的方法是使用Xcode 7.3.1打开您的项目并手动修复错误,以便使代码再次与Swift 2.2兼容

如果你幸运的话 即使您认为您没有使用版本控制,Xcode也有可能自动为您创建本地GIT存储库。要选中此选项,请打开项目的源文件,然后选择“查看>版本编辑器>显示版本编辑器”

现在主区域被分成两列。在分隔这两个源代码的中央列的底部,有一个按钮,其图标类似于Time Machine(时间机器)。按一下


现在,如果您可以在右栏下面选择不同的日期,那么您实际上是在使用GIT。只需在转换之前选择一个日期,然后对项目中的每个源文件重复该日期。

我感觉到了。我也很辛苦地学到了这个教训

对我来说(有点)有用的是在XCode 7.3.1中打开项目,将错误从230+减少到60。我能够手动恢复到Swift 2.2进行更改,例如将数据更改回NSData。如果你知道Swift 3做了什么改变(谷歌it),那么你也许可以修复大部分项目


祝你好运

在目标开关的构建设置上,从“否”切换为“是”

这会将编译器切换回sane 2.x,但不会改变代码本身。范围仅限于为项目创建的新目标 在旧版本的swift上

不过,我们有一个潜在的问题,那就是什么是“遗留版本”
在未来的Xcode版本中可能会发生变化。

您在没有备份的情况下转换了整个项目?!-Swift 3->Swift 2没有自动转换器。。。。现在,已经晚了大约4个月,你终于明白了为什么版本控制是必要的,…恢复版本控制系统中的更改?如果你使用mac,你可以试试time machine,但我不确定它是否有用。吸取了惨痛的教训。备份和版本控制!如果他们没有做出任何承诺,自动创建的回购协议将毫无用处。(不过回答得不错。)