如何使用Appcode和Swiftify加快应用程序到Swift的转换

Swiftify提供了多种将Objective-C代码转换为Swift的方法。 如果您使用AppCode而不是Xcode进行开发,则可以使用Swiftify的AppCode插件直接从编辑器中转换代码行或整个文件的选择。

优点

AppCode的可扩展性使其成为一个理想的IDE,可将您的Objective-C项目逐步迁移到每个文件的Swift。 它使您能够:

  • 同时转换.h和.m文件对,与Swiftify的Xcode扩展名不同,由于Xcode Source Editor扩展名的限制,Swiftify的Xcode扩展名一次只能处理一个文件。
  • 借助内置的AppCode项目文件解析器,自动更新Xcode项目文件。
  • 无需离开AppCode或使用外部工具即可完成整个转换。

安装插件

要安装Swiftify AppCode插件,请转到AppCode菜单,然后选择首选项 。 从侧面板中选择插件 ,然后选择底部的浏览存储库按钮。 搜索“ Swiftify”,然后单击“安装”按钮。

最后,重新启动AppCode以开始使用插件。

入门

在开始将代码转换为Swift之前,您需要添加API Key 。 转到Swiftify扩展页面,然后复制您的API密钥。 返回AppCode,打开AppCode> Preferences ,选择Tools ,然后快速化并粘贴您的API密钥。

在AppCode中打开您的应用,然后选择一个Objective-C类开始对其进行转换。

将Objective-C类转换为Swift

AppCode插件可让您将代码行或整个文件中的一部分转换为Swift。

选择一些Objective-C代码,右键单击它,然后选择Swiftify> Convert Selection to Swift

您也可以通过单击“ 工具”菜单,然后选择“ Swiftify”来访问相同的选项。

要转换整个类,请从项目窗口中选择.h和.m文件,右键单击它们,然后选择Swiftify> Convert [FileName] to Swift

Swiftify将创建一个新文件,其中包含来自Objective-C标头的所有类和方法以及您选择的实现文件。

请注意,在这种情况下,Swiftify不会生成Objective-C桥接标头,因此,如果新生成的Swift代码使用Objective-C类,则需要手动创建桥接标头。

为了能够构建项目,请选择旧的.h和.m文件,右键单击它们,然后选择从Xcode项目中排除 。 这将从项目文件中删除对这些文件的引用,但会将它们保留在项目目录中,以防您需要再次返回它们。

确认一切正常后,可以继续从项目目录中删除旧的.h和.m文件。

选择下一个要转换的Objective-C文件,然后执行相同的步骤。 如果遇到错误,表明您的项目对刚转换的类的某个体系结构具有未定义的符号,请确保选择“运行”>“清理构建文件夹” ,然后再次构建应用,以进行清理构建

转换所有类之后,最后一步将是转换UIApplicationDelegate类。 选择AppDelegate.m然后执行相同的步骤。

现在,该项目已完全转换为Swift。 这种方法使您可以将将项目转换为Swift的工作分成可以轻松测试的较小任务。 由于Swift与Objective-C具有出色的互操作性,因此您可以在完成整个转换之前始终将应用程序的版本发送到App Store。

转换整个项目

如果您想一次转换整个项目或多个文件,请查看Swiftify for Xcode。 Advanced Project Converter还将自动生成Objective-C桥接头。

有关更多指导,请阅读我们关于从Objective-C迁移到Swift的文章,并在下面的评论部分中分享您的问题。