LicensePlist を使うと
これを試してみる。
セットアップ
Homebrew 経由で LicensePlist をインストールする。
$ brew install mono0926/license-plist/license-plist
プロジェクトにルートに Carfile
と Podfile
を配置する。
プロジェクトルートで LicensePlist を実行する。
$ license-plist
成功すると com.mono0926.LicensePlist.Output
フォルダが生成される。
原理的にはこれを Settings.bundle
直下にコピーすれば
iOS の設定アプリ内で、使用している OSS ライセンスが表示されるようになる。
次に Integrate 継続的に Settings.bundle
に LicensePlist の成果物ができるように Xcode の RunScript に以下を追加する。
if [ $CONFIGURATION = "Debug" ]; then /usr/local/bin/license-plist --output-path $PRODUCT_NAME/Settings.bundle fi
これでビルドごとにプロジェクトルートの下の $PRODUCT_NAME
フォルダ下の Settings.bundle
内に LicensePlist の成果物ができるようになる。
最後に Settings.bundle
内の Root.plist
を下のようにする。これをしないと、設定アプリ内にライセンス一覧の陸ができないことに注意。
<?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>Type</key> <string>PSChildPaneSpecifier</string> <key>Title</key> <string>Licenses</string> <key>File</key> <string>com.mono0926.LicensePlist</string> </dict> </array> <key>StringsTable</key> <string>Root</string> </dict> </plist>
結果のスクリーンショット
サンプル
今回試した LicensePlist を使用したサンプルは GitHub にある。