在Xcode 8中将单个文件转换为Swift 3?

Xcode 88.1有没有办法为已经转换为Swift 3的项目中的单个文件执行Swift 2.X -> Swift 3迁移?

对于技术债务/遗留构建过程的原因,我们目前不得不维护我们项目的Xcode 7Xcode 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