Swift3 iOS 10和swift 3转换问题

Swift3 iOS 10和swift 3转换问题,swift3,ios10,xcode8,Swift3,Ios10,Xcode8,这是我第一次真正接触到将我的代码更新到新版本的iOS和重大代码更改,如Swift 3。我想了解一些关于这些主题的良好实践和标准程序的信息 首先,在尝试将代码转换为Swift 3之前,我是否应该等到Xcode 8完全释放?似乎随着beta的发展,代码转换功能变得更加智能和准确。另外,在测试版IDE内部编辑是否安全 其次,我的应用程序在iOS 9上运行良好,功能完美。然而,在iOS 10上,UI元素出现了问题(改变位置,不更新),并冻结在iOS 9中不明显的特定位置。这是因为将在iOS 10中更新的

这是我第一次真正接触到将我的代码更新到新版本的iOS和重大代码更改,如Swift 3。我想了解一些关于这些主题的良好实践和标准程序的信息

首先,在尝试将代码转换为Swift 3之前,我是否应该等到Xcode 8完全释放?似乎随着beta的发展,代码转换功能变得更加智能和准确。另外,在测试版IDE内部编辑是否安全

其次,我的应用程序在iOS 9上运行良好,功能完美。然而,在iOS 10上,UI元素出现了问题(改变位置,不更新),并冻结在iOS 9中不明显的特定位置。这是因为将在iOS 10中更新的函数名发生了变化吗?此外,这些bug中的一些会随着beta的理顺而“自行修复”吗


谢谢你的帮助

建议与所有Xcode测试版基本相同:将Xcode测试版(esp Swift 3)视为一个“沙箱”,您可以在其中玩,但不要转换生产项目。或者,更准确地说,你可以随意转换它,这样你就可以在你的沙箱里玩,这样你就可以为Swift 3从测试版出来做好准备,但是要知道当前的测试版Swift 3会有进一步的变化。确保保留现有的生产代码/项目,直到Xcode 8脱离测试版)。永远不要计划在Xcode 7.x中打开Swift 3项目。保持Swift 3代码和原始Swift 2.x项目完全隔离


如果你在iOS 10上安装了iOS 9应用程序,我很惊讶你发现iOS 9应用程序(尤其是iOS 10 beta 7)出现了问题,因为这些问题大部分都已经解决了。如果有些东西不正常工作,那就有点边缘化了,因为大多数编写良好的iOS 9代码都能与iOS 10无缝地工作。虽然API有所变化,但为iOS 9构建的应用程序通常在iOS 10设备上运行良好。很少有事情会导致您描述的那种视觉瑕疵/错误。如果你有问题,你应该发布一个新问题,并用一个例子来说明问题

鉴于你的问题,我将指出我遇到的一些事情。我会保留一份原始格式的Swift 2.2代码副本,这可能看起来很明显,但这对我很有帮助,所以我把它放在那里。我遇到的一个具体问题是运行转换代码的“线程1:SIGABRT”。我只是在故事板中删除了我的对象连接,在本例中是一个UIButton对象,转换后,重新构建了它们,错误消失了。我仍然在转换代码,所以当我找到一些东西并修复它时,我会添加到我的帖子中。我建议你在做转换的时候,如果你得到了一些具体的东西,只需要问一个不同的问题并发布它。它让事情变得简单。

谢谢您的回答!这帮我澄清了一些事情。但是,另一个问题是,在不转换为Swift 3的情况下,如何在iOS 10中测试我的应用程序(同时查看错误代码和堆栈跟踪)?您可以通过各种不同的方式从Xcode 7在iOS 10设备上安装应用程序,例如。但是,我以为你已经这么做了。。。你是如何得出这些UI控件在iOS 10上出现问题的结论的?我在iPhone上安装了iOS 10测试版,我在其中通过Xcode中的设备安装了该应用程序。在完全安装该应用程序后,UI标签等都可以正常工作。然而,该应用程序仍然冻结在iOS 9版本没有冻结的点上。查看堆栈跟踪的唯一方法是让它崩溃,并通过“设备”窗口查看崩溃日志。或者制作项目的副本,并将其转换为Xcode 8中的Swift 2.3(比Swift 3转换省力),然后您可以通过调试器运行它。(编译时,也可能会收到一些信息性警告。)