使用Marathon with在Swift中使用脚本提高生产力
在iOS开发过程中,总会出现在整个项目中执行重复性任务的情况。 乍一看,您可能会发现其中的一些,后来又发现。 有可能:
- 管理所有项目资产,有时调整它们的大小以适合适当的尺寸,最后添加到Xcode项目中。
- 使用所有必需的文件(例如ViewControllers,Views,ViewModels等)创建新屏幕的文件夹结构。
在Fastlane和Quicktype之前,您需要手动执行以下任务:
- 在Testflight / Fabric上部署应用程序
- 根据API JSON响应创建模型
好消息是,iOS社区正在发展,并且有越来越多的工具可以自动执行日常开发流程,例如Sourcery或SwiftGen。 但是,如果它们都不满足您的需求怎么办? 您是否应该继续前进并继续手动重复进行所有操作? 还是应该使它们自动化? 好的,让我们写一些脚本,但是…
实际上,不需要使用Bash,Python,Ruby或其他脚本语言,因为Swift提供了编写脚本的功能。 与Marathon结合使用,在OSX上编写和安装脚本确实非常容易。 Marathon生成一个Xcode项目,并允许在脚本代码中使用依赖项。
让我们编写一个程序,该程序将生成具有所有所需类的自定义应用程序的屏幕文件夹结构。 在这种情况下,它将是“ 登录”屏幕文件夹。
每个文件都将包含样板代码以及已导入的所有必需库。
首先,让我们安装马拉松。 在撰写本文时,Homebrew还不支持最新版本的Marathon,因此我建议您通过Swift Package Manager安装它。 打开终端并输入:
$ git clone https://github.com/JohnSundell/Marathon.git
$ cd马拉松
$使
成功安装Marathon之后,第二步是创建FilesGenerator项目
$➜马拉松创建FilesGenerator
$ Files在FilesGenerator.swift中创建脚本
$✏️打开FilesGenerator.xcodeproj /
它应该打开一个包含main.swift文件的Xcode项目
因为我们要对文件进行操作,所以最好添加名为Files的帮助程序依赖项。 让我们通过执行命令来做到这一点:
$ marathon add https://github.com/JohnSundell/Files.git
关闭您的Xcode项目,然后输入以下内容再次将其打开:
$ marathon edit FilesGenerator.swift
您应该看到添加了文件依赖关系的新的依赖关系目录。 现在,我们准备进行第三步编码。 看一下冗长的代码,但很不言自明。 它需要screenName 作为init函数的参数并以此为基础,将生成具有适当名称和样板代码的文件。
详细说明代码后,让我们将其复制并粘贴到main.swift中。 然后去终端输入
$ marathon运行FilesGenerator
.swift
在当前目录中,您将看到一个名为Login的新文件夹。 现在,您要做的就是将其拖放到Xcode项目中。
因此,这花费了几分钟,我们在开发应用程序时每次都会自动执行一个重复性过程。 您可以根据您的类实现和应用程序的体系结构自定义脚本。 随时检查我的回购,在其中添加新文件生成器的地方https://github.com/mkkroliks/Swift-Files-Generator