jubilee

Programing, Books and more...

CocoaPodsでライセンス表記を自動で作成する

CocoaPodsを使用している場合に、使用しているライブラリのライセンス表記を自動で作成する方法。
ライセンス表記は、iPhoneの設定アプリに作成される。
pod install / pod update するたびに自動作成してくれるので、ライブラリの追加/削除のたびにライセンス表記の修正をしなくていいので便利。
作成時に、些細なところでハマったので、やり方を残しておく。

Settings.bundleを作成

File – New – File から、iOS – Resource で「Settings Bundle」を選択。 settingbundle1

作成する場所を選択する。
ここで、Groupを「Supporting Files」にはしないこと。 ← ここでハマった。 settingbundle2

Root.plistの編集

デフォルトの状態から、以下のように編集する。
「Child Pane」は、「Type」からしか選択はできないので注意。
root.plist

Acknowledgements.plistの作成

「Settings.bundle」内に「Acknowledgements.plist」を作成する。
作成方法は通常のファイル作成と違い、以下のようにする。

  • 「Settings.bundle」を右クリックで「パッケージの内容を表示」させ
  • 「Root.plist」を複製し、「Acknowledgements.plist」に名前をかえる
  • 「Acknowledgements.plist」を開き(エディタなど)、中身を消す ← ここでもハマった。

Acknowledgements.plist

Podfileへの追加

Podfileへ、以下を追加する。

1
2
3
4
5
6
7
post_install do | installer |
require 'fileutils'
//FileUtils.cp_r('Pods/Pods-acknowledgements.plist', 'SampleLicense/Settings.bundle/Acknowledgements.plist', :remove_destination => true)
// 2015.1.27追記
// いつの間にかこっちの表記に変わってた
FileUtils.cp_r('Pods/Target Support Files/Pods/Pods-Acknowledgements.plist', 'SampleLicense/Settings.bundle/Acknowledgements.plist', :remove_destination => true)
end

Settings.bundle へのパスは、XcodeでSettings.bundleを表示させ、エディタエリア上部のジャンプバーを参照すること。
Podfile

pod install

あとは、pod install をすれば、完成。Acknowledgements.plistはこんな感じになる。
Acknowledgements.plist

ビルドし、iPhoneの設定アプリから確認することができる。
Setting.app Setting.app