Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

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 の記事にはとても助けられました。

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away