【Swift】SF Symbolsのシンボル名をenumに変換するアプリを作ってみた

2022.01.25

SF Symbolsを安全に使いたい気持ちがあり、手打ちは面倒くさかったのでシンボル名をenumに変換するアプリを作ってみました。

littleossa/SFSymbolsSwiftFileGenerator - GitHub

SFSymbolsSwiftFileGenerator

SF Symbolsのシンボル名を記述したテキストファイルをenumに変換してSwiftファイルとして生成します。

(良い名前が思いつかなかった、、)

デモ

SFSymbolsSwiftFileGenerator-640

使い方

1. 準備

まずは、SFSymbolsSwiftFileGeneratorをクローンする

2. SF Symbolsのすべての名前をコピー

SF Symbolsアプリですべてのシンボルを選択して、すべての名前をコピーします。

(2022/1/25現在はSF Symbols v3.2の内容を含んでいますので、このバージョン利用を希望の場合は12の手順はスキップしてください)

select-all-symbols

3. SFSymbols.txtに貼り付け

コピーしたテキストをプロジェクト内にあるSFSymbols.txtに貼り付けます。

paste-sf-symbols

4. シュミレーターを指定してRunします

自身のアプリの最小ターゲットバージョンのシュミレーターでRunをします。今回は例としてiOS 13.0のシュミレーターでRunを行なっています。

build-ios13

生成に成功すると、デバッグコンソールにSFSymbols.swiftがあるパスが出力されます。

(例)

Success to write:
open /Users/littleossa/Library/Developer/CoreSimulator/Devices/C9AB419E-4236-5772-B856-83A0E8A2F3F5/data/Containers/Data/Application/0162D80D-6B69-9E1E-4F2E-51E6811C95D1/Documents/

5. パスをターミナルにコピペしてエンター

openと出力されたパスをターミナルにコピペをして、エンターを押します。

6. 完成

SF Symbolsのenumが記述されたSwiftファイルが表示されます。

sfsymbol-enum

3で指定したiOSバージョンで使用できないシンボルはコメントアウトされて使用できないようになっています。

あとは好きに使って楽しんでください!

(インデントはできてないので整える必要があります🙇‍♂️)

おまけ

SFSymbols.swiftとして生成されたファイルにUIImage+Extensionもサービスで追加していますので、すぐに使えるようになっております。

uiimafe-extension

おわりに

SF Symbolsのライブラリを作りたいと思い、流石に全て手打ちするのは骨が折れるので変換できるアプリを作ってみました。 次はライブラリ作成に向けて楽しんで取り組みたいと思います。

引き続き、SF Symbolsのことをどうかよろしくお願い致します。

参考