缘起

公司的 App,由于安全原因,ipa 内的一些 json 文件都是以加密的形式存在的,于是这就为排查问题造成了一些阻碍。

「懒」是第一生产力。为了快速排查问题,我决定写一个脚本对这些加密的文件解密。

由于之前已经在公司推广过另一个脚本工具,用 pip 进行分发,但是总会出现奇奇怪怪的问题,比如有同事没有在 PATH 中加入 python 可执行脚本的路径等。所以想在想尝试使用其他方式编写和分发简单的脚本。

由于最近学了 Swift 和 Rust,就想着选一个玩一玩,调查了一圈,最后选择了 Swift。

Swift Command Line Tool

创建 Swift Project

Swift 官方为我们准备了一个叫 Package Manager 的工具,用于对 Swift 的 Package 进行管理,比如创建、编译、运行、测试等。简单的使用可以参考官方教程

利用 Swift Package Manager (后面简称 PM) 我们能快速创建一个 Package。

对于普通的 初始化一个 Package,我们使用:$ swift package init

当我们希望 Package 用于 Command Line Tool 时,可以为其增加一些参数来声明 executable

swift package init --type executable

更为具体的内容,可以参见 官方文档 Creating a Package

总之,上面的命令执行完以后,你可以获得以下目录。

Untitled

忽视 Tests 文件夹内的内容,我们着重关注 两个部分。

第一个部分是 Package.swift、 第二个部分是 Sources 文件夹。

先看第一部分。打开 Package.swift ,不要忽略最上面的内容。你可以看以下内容:

// swift-tools-version:5.5
// The swift-tools-version declares the minimum version of Swift required to build this package.