在Xcode 8中将单个文件转换为Swift 3?
在Xcode 8
或8.1
有没有办法为已经转换为Swift 3的项目中的单个文件执行Swift 2.X -> Swift 3
迁移?
对于技术债务/遗留构建过程的原因,我们目前不得不维护我们项目的Xcode 7
和Xcode 8
版本。 当我们必须将Xcode 7
新开发合并到Xcode 8
时,这会引起头痛。 由于该项目已经在我们的Xcode 8
分支(包括大量手工修复)中完全转换为Swift 3
,因此我们无法使用全项目自动转换器。 因此,我们目前不得不从Swift 2.2
手动转换Swift 3
以便在Xcode 7
中添加新的Swift
文件,这需要花费大量的时间。
我很抱歉,如果这已经被问到,我找不到任何明确的答案与谷歌。
我有一个有多个目标的项目,其中每个目标都是使用OpenGL和Swift稍微更高级的版本。 如果您愿意,这是一个包含多个教程的项目。 当swift 3可用时,我使用了转换器,并注意到它可以按照每个目标进行工作 。 考虑到这一点,我建议:
我意识到这是一个黑客,但如果它的作品,为什么不呢? 希望有所帮助。
作为一个方面说明,如果你有任何代码处理Unsafe[Mutable]Pointer
并且你使用alloc()
或者malloc(),
转换器不会用新的UnsafeMutablePointer
方法替换alloc()
/ malloc()
- allocate()
和initialize()
。 如果您正在使用任何C API,那么您可能会使用它们。
一个想法(未经测试)是删除这些行
LastSwiftMigration = 0800;
和/或
SWIFT_VERSION = 3.0;
从project.pbxproj
查看Xcode是否允许您再次使用该迁移器。 这些行都是在我运行migrator之后添加的。
然后,如果它起作用,显然,您需要取消选择不想迁移的所有文件。
无论如何,这就是我能想到的。
链接地址: http://www.djcxy.com/p/93889.html上一篇: Convert single file to Swift 3 in Xcode 8?
下一篇: Loopback MongoError: not authorized for query on heroku