■はじめに
サードパーティ製のライブラリを使用する際に、MITライセンスや、Apatchライセンスなどのライセンスのルールで、ライセンスの内容を表示することが必要になります。
アプリ内にライセンス表示画面を出すことでも対応できますが、それだと保守が面倒だし、抜けが出る可能性があります。
そこで、「LicensePlist」という素晴らしいライブラリを見つけましたので、ここではこのライブラリを使用してライセンス表示を行います。
※このライブラリでは、iPhoneの「設定」アプリ内の下の方に自分のアプリが表示されるので、その中に「License」が選択できるようになります。
■手順
プロジェクトのPodfileに以下を記載する。
pod 'LicensePlist'
その後、以下のコマンドをターミナルで実行し、ライブラリをインストールする。
pod install
Xcodeでプロジェクトを開き、「Build Phases」の「+」から「New Run Script Phase」を選択し、以下のShellを記載する。
if [ $CONFIGURATION = "Debug" ]; then
${PODS_ROOT}/LicensePlist/license-plist --output-path $PROJECT_NAME/Settings.bundle
fi
プロジェクトディレクトリを右クリックし、「New File...」を選択する。
「Settings Bundle」を選択し、作成する。
※ファイル名は「Settings」のままにしておくこと。
生成された「Settings.bundle」内の「en.lproj」ディレクトリを削除する。
「Settings.bundle」内の「Root.plist」をSource Codeで開き、以下に書き換える。(元々の記述は全て削除する。)
<?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>
書き換えて、ビルドを行うと、「Settings.bundle」配下に以下が追加される。
ここまで、できたら実機ビルドを行い、アプリが起動した後に「設定」アプリの下部にある自分のアプリを開くと「Licenses」の項目が追加されている。
この「Licenses」を選択すると、利用しているライブラリの一覧が表示される。
※以下は、ライブラリはLicensePlistしか使用していない場合です。
※他のライブラリを使用した場合も自動で設定してくれるようです。
上記の対象のライブラリを選択したら、以下のようにそのライブラリのライセンスが表示されます。