SFSymbolsKit

SFSymbolsKit

现在支持 macOS

安装 | 文档 | 使用方法

Release Workflow Swift Versions Platforms Supported

SFSymbolsKit 是一个小的 Swift 软件包,它为 StringUIImageNSImage 提供了扩展,使使用 SFSymbols 变得非常容易。 这些扩展和随附的 Enum 都是使用此软件包中包含的 Python 脚本以及所有 SFSymbols 名称的列表生成的。

🛠️ 安装

SFSymbolsKit 可以使用 Swift Package Manager 进行安装。

Swift Package Manager (Xcode 15.3 或更高版本)

安装 SFSymbolsKit 的首选方法是通过 Swift Package Manager

  1. 在 Xcode 中,打开您的项目,然后导航到 FileSwift PackagesAdd Package Dependency...
  2. 粘贴存储库 URL (https://github.com/WikipediaBrown/SFSymbolsKit.git) 并单击 Next
  3. 对于 Rules,选择 Version (Up to Next Major) 并单击 Next
  4. 单击 Finish

将软件包依赖项添加到您的应用程序

👩🏽‍💻 使用方法

🧵 String

您可以使用 String 扩展来获取所有可用的 SFSymbols 的名称。 您可以像这样添加图像

Image(systemName: String.SFSymbols.plusApp)
    .resizable()
    .scaledToFit()
    .aspectRatio(contentMode: .fit)
    .foregroundColor(.primary)

🩻 UIImage

您可以使用 UIImage 扩展来获取所有可用的 SFSymbols 的图像。 您可以像这样添加图像

Image(uiImage: UIImage.SFSymbols.plusApp)
    .resizable()
    .scaledToFit()
    .aspectRatio(contentMode: .fit)
    .foregroundColor(.primary)

🗾 NSImage

您可以使用 NSImage 扩展来获取所有可用的 SFSymbols 的图像。 您可以像这样添加图像

Image(nsImage: NSImage.SFSymbols.plusApp)
    .resizable()
    .scaledToFit()
    .aspectRatio(contentMode: .fit)
    .foregroundColor(.primary)

📋 Enum

此外,还有一个 CaseIterable 枚举,它提供对 String 扩展中的所有字符串的访问,并通过 image 属性访问所有图像。

Image(uiImage: SFSymbol.plusApp.image)
    .resizable()
    .scaledToFit()
    .aspectRatio(contentMode: .fit)
    .foregroundColor(.primary)

Image(nsImage: SFSymbol.plusApp.image)
    .resizable()
    .scaledToFit()
    .aspectRatio(contentMode: .fit)
    .foregroundColor(.primary)

Image(systemName: SFSymbol.plusApp.string)
    .resizable()
    .scaledToFit()
    .aspectRatio(contentMode: .fit)
    .foregroundColor(.primary)

🧬 生成

用于生成扩展和枚举的脚本是用 Python 2.7.18 编写的。 这意味着你需要 Python。

🐍 获取 Python

假设您正在运行 macOS,您应该首先安装 Homebrew,然后使用 Homebrew 运行命令 brew install python 来安装 Python。

📋 获取名称列表

通过打开 SFSymbols 应用程序(您可以从  Developer 获取)并将它们粘贴到 SFSymbols.txt 文件中来获取 SFSymbols 的名称列表。 查看此 StackOverflow 帖子。

🏃🏽‍♀️ 运行 Python 脚本

运行命令 bash generateSymbols.sh。 此命令运行一个 bash 脚本,该脚本依次运行命令 brew install python,然后运行命令 python3 UIImageExtension.py && python3 UIImageExtensionTests.py && python3 StringExtension.py && python3 StringExtensionTests.py && python3 Enum.py。 这将运行 python 脚本,该脚本将重新生成 StringUIImage 扩展以及枚举。

🧪 测试

Xcode 中运行 command+u 以运行单元测试。 测试会自动为所有 pull request 运行。 在本地运行测试时,请确保使用 iOS 17.2 或更高版本,或者 macOS 14.5 或更高版本。 某些符号未包含在早期版本中。 SFSymbolsKit 的版本支持 SFSymbols 5.1

🏎️ Fastlane Scan

您还可以使用 fastlaneiOSmacOS 上运行测试。 这需要安装 fastlane,而这又需要安装 Homebrew。 安装了 Homebrewfastlane 后,您可以打开终端并导航到 SFSymbolsKit 的根文件夹并运行命令 fastlane unit_test。 这将连续运行 iOSmacOS 的单元测试。 您应该期望看到两个测试运行的 100% 代码覆盖率。

🐁 版本控制

当 pull request 从 develop 分支批准到 master 分支时,SFSymbolsKit 会自动在 GitHub 上发布新版本

👩🏽‍💻 贡献

发送一个 pull request 我的朋友... 或者创建一个 issue。

✍🏽 作者

Wikipedia Brown, Adrianna

🪪 许可证

SFSymbolsKit 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。

在 Cascadi用 🌲🌲🌲 创建