LoginSignup
26
26

More than 5 years have passed since last update.

Carthageで管理しているライブラリのライセンスをまとめてくれるスクリプト

Last updated at Posted at 2017-02-13

はじめに

CocoaPods でライセンス表記を自動生成しようと思うと、探せばいくつも記事が出てきます。

これが Carthage になるとどういう訳かほぼ皆無に等しい。

それでも探してみると CarthageLicenseScript という Swift で書かれたスクリプトを見つけたので共有したいと思います。

使い方

使い方は非常にシンプル。

  1. スクリプトを保存
  2. terminal で $ ./PATH_TO_YOUR_SCRIPT/fetch_licenses.swift Cartfile.resolved OUTPUT_DIR と書いて実行
    • ./PATH_TO_YOUR_SCRIPT/fetch_licenses.swift はスクリプトへのパス
    • Cartfile.resolved は Carthage のライセンス表記を出力したいプロジェクトの Cartfile.resolved へのパス
    • OUTPUT_DIR は Licenses.plist を出力したいディレクトリへのパス

これだけで Licenses.plist が任意のディレクトリへ出力されます。

Licenses.plist は [[String: String]] になっているので、

let plistPath = Bundle.main.path(forResource: "../Licenses", ofType:"plist")
let licensesArray = NSArray(contentsOfFile: plistPath!)! as! [[String : String]]

というようにして読み込めば、

写真_2017-02-13_16_47_18.png

このようにアプリ内で表示するのも簡単です。

実行例

スクリーンショット_2017-02-13_16_27_44.png

スクリーンショット 2017-02-13 16.39.43.png

注意点

I won't recommend running it as a build phase, but rather checking the generated .plist into your project.

ということなので、

  • ビルドと同時にスクリプトを走らせない
  • 生成された .plist を確認する

の2点は忘れないようにしましょう。特に .plist は text に改行が含まれているので、必ず確認したほうがいいと思います。またライブラリの変更は時々あると思いますので、.plist のバージョン管理を忘れないようにしましょう。

最後に

アプリをリリースするにあたって Qiita の記事にはとても助けられました。

自分もなにか書いて残していくことで、誰かの助けになればと思い初投稿しました。

26
26
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
26