【iOS】世界一分かりやすいオープンソースライブラリの実装

#はじめに
アプリをリリースする際に著作権情報として使用したライブラリのライセンスを表示するかと思います。
LicensePlistを使用すると一発で使用中ライブラリを取得し設定アプリに表示してくれます。
アプリにコピペしなくて済む上に、ライブラリの追加・更新作業も自動でやってくれます。
もし他のサイトを参考にやってみたけどうまくできないという方にもお勧めです。

https://github.com/mono0926/LicensePlist

#実装
今回はCocoaPodsにて導入していきます。
Podfileにて↓を記入してpod installします。


```
pod 'LicensePlist'
```

プロジェクトを開き、NewFileにてSettings Bundleを追加します。

![スクリーンショット 2022-01-24 15.45.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/54bf6d16-949e-cd26-06ec-39d02fd97080.png)

名前はこのままで大丈夫です。

![スクリーンショット 2022-01-24 15.52.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/bbefa572-621b-a379-5796-29f41656da4c.png)

こんな感じで追加されるので、このen.lprojという名前のフォルダをDeleteで削除します。

![スクリーンショット 2022-01-24 15.46.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/230bf315-b10f-dae2-f331-27ea32079d56.png)

次にもう一つのRootというファイルを選択して右クリックでOpen As → Source Codeを選択します。

![スクリーンショット 2022-01-24 15.46.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/fded6eb1-5a6e-5ff9-7821-bed0881eb799.png)

XMLコードが表示されるので、全て削除し代わりに↓を追加してください。

```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>PreferenceSpecifiers</key>
        <array>
            <dict>
                <key>Title</key>
                <string>Licenses</string>
                <key>Type</key>
                <string>PSChildPaneSpecifier</string>
                <key>File</key>
                <string>com.mono0926.LicensePlist</string>
            </dict>
        </array>
        <key>StringsTable</key>
        <string>Root</string>
    </dict>
</plist>
```

こんな感じになるかと思います。

![スクリーンショット 2022-01-24 15.47.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/dd20cf0b-e938-136e-dbdf-4e4d8d62f0ba.png)

次にBuild Phasesにて＋ボタンを押してNew Run Script Phaseを選択します。
（Build Phasesの場所が分からない方は、もう少し下に画像があるので参考にしてください。）

![スクリーンショット 2022-01-24 15.28.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/ee601580-207d-d83b-4604-aab455b5a3d5.png)

Run Scriptが追加されるので↓を追加します。

```
if [ $CONFIGURATION = "Debug" ]; then
    ${PODS_ROOT}/LicensePlist/license-plist --output-path ${PRODUCT_NAME}/Settings.bundle
fi
```

※任意ですがRun Scriptの名前を変更した方が分かりやすいです。（例）Run LicensePlist など…。

![スクリーンショット 2022-01-24 15.24.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/fafc1101-8c70-1104-5a54-cbbf3bbded99.png)

ここで一度実機ビルドをし、Settings Bundleの中に↓が追加されているか確認してください。
※もし、表示されないよという方はおまけにお進みください。

![スクリーンショット 2022-01-24 15.44.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/51634b71-fa78-6f32-6126-b471b3e05ced.png)


設定アプリにて自分のアプリを選択し、Licensesという項目を開いていただくと使用しているライブラリのライセンス一覧が表示されると思います。

####これにて実装完了です。お疲れ様でした。

#おまけ
私の場合Settings BundleをSupportFilesというフォルダの中に作成していたので↓の画像のように、先ほどBuild Phasesに追加したコードの/Settings.bundleという記述の前に/SupportFilesを追加しています。
設定アプリにちゃんと表示されないよって方は確認してみて下さい。

![スクリーンショット 2022-01-24 16.10.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656839/159c2e74-bd1e-61e4-367d-23c3bb6731e9.png)