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

Carthageでinstallしたライブラリのライセンス一覧をplistで生成する

More than 3 years have passed since last update.

hatuyukiです。Qiitaには初投稿になります。
よろしくお願いします。

ライセンス管理

自分は現在、アプリを開発する中で、cocoapodsとcarthageを併用しているのですが、オープンソースライセンスの管理が面倒になってきます。

cocoapodsの場合はこちらの方法でpods installする際に自動でplistをコピーし、それをアプリや設定内で表示させることができるのですが、このやり方ではcarthageのライセンスは取得できません。

しかしそもそも carthage updateした段階でCheckoutsディレクトリの中にソースコード一式チェックアウトしているのだから、そこからライセンス情報を引っ張ってくれば良いのではと思い当たりました。

generate_carthage_license_list

CarthageのCheckoutsからライセンスのplistを生成するgenerate_carthage_license_list.rbというものを作成しました。これを使ってplistを作成し、ライセンスを管理していきます。

使用方法

generate_carthage_license_listをプロジェクトファイルと同じディレクトリに配置します。generate_carthage_license_listを開くと、ファイルの頭に

output_path = "CarthageLicenseList.plist"
carthage_path = "Carthage/Checkouts/*"

と書かれている箇所があるので、プロジェクトにあわせて変更します。

carthage_pathがCarthageのcheckoutsへのパス、output_pathがplistの出力先のパスになります。

最後に以下のコマンドで実行すれば終わりです

ruby generate_carthage_license_list.rb

実行後にPods-acknowledgements.plistと同じような構成のplistが出力されます。

使用例

CarthageLicenseSampleにsetting.bundleへplistを出力し、ライセンスを表示するサンプルを作ってあります。
単純なplistなので、setting.bundleではなくアプリ内で表示することも可能です。

settings Licenses
Simulator Screen Shot 2016.10.31 22.10.30.png Simulator Screen Shot 2016.10.31 22.10.32.png
Why not register and get more from Qiita?
  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
No 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
ユーザーは見つかりませんでした