CocoaPodsのAcknowledgementsをフィルタリングして出力する方法


こんにちは、いつも書いている川田じゃない人です。

CocoaPodsは導入しているライブラリのライセンスをplistで出力できます。

参考: CocoaPodsで導入しているライブラリのライセンス表記を自動的に作成する

上記で作成したplistをSettings.bundle内で呼び出せば手軽にライセンス表示ができますが、プライベートなライブラリなどライセンス表記に追加したくない場合もあるので、それらを除外して作成する方法です。

まずCocoapods::AckFilterをインストールします。

$ gem install cocoapods-ack_filter

あとはPodfileに通常のacknowledgementsの生成の代わりに

post_install do
  Pod::Command::AckFilter.filter(pattern: /MyCompany/, output: 'Filtered.plist')
end

を記載するだけです。これでpod updateをする度にplistは更新されます。

私の場合は自分の名前にヒットするライブラリを除外してSettings.bundle内に書き込みしたかったので以下の様に書きました。

post_install do
  Pod::Command::AckFilter.filter(pattern: /Yu Sugawara/, output: 'Aplos/Settings.bundle/Acknowledgements.plist')
end