Setting Bundle に CocoaPods でインストールしたライブラリのライセンスを表示する『謝辞』を追加するメモ。

Acknowledgements https://github.com/CocoaPods/CocoaPods/wiki/Acknowledgements

手順

  1. CocoaPods の Acknowledgements ファイルをコピーする
  2. Settings.bundle の Root.plist にページを追加する

1. CocoaPods の Acknowledgements ファイルをコピーする

post_install do | installer |
  require 'fileutils'
  FileUtils.cp_r('Pods/Target Support Files/Pods/Pods-Acknowledgements.plist', 'ProjectName/Settings.bundle/Acknowledgements.plist', :remove_destination => true)
end

2. Settings.bundle の Root.plist にページを追加する

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>StringsTable</key>
    <string>Root</string>
    <key>PreferenceSpecifiers</key>
    <array>

        ・・・
        ・・・

        <dict>
            <key>Type</key>
            <string>PSChildPaneSpecifier</string>
            <key>Title</key>
            <string>Acknowledgements</string>
            <key>File</key>
            <string>Acknowledgements</string>
        </dict>

    </array>
</dict>
</plist>

その他

ヘッダタイトルを変更する

Podfile に以下のように追加する。

class ::Pod::Generator::Acknowledgements
  def header_title
    "HeaderTitle"
  end
end

ヘッダテキストを変更する

Podfile に以下のように追加する。

class ::Pod::Generator::Acknowledgements
  def header_text
    "HeaderText"
  end
end

フッタタイトルを変更する

Podfile に以下のように追加する。

class ::Pod::Generator::Acknowledgements
  def footnote_title
    "FooterTitle"
  end
end

フッタテキストを変更する

Podfile に以下のように追加する。

class ::Pod::Generator::Acknowledgements
  def footnote_text
    "FooterText"
  end
end

まとめて変更する

Podfile に以下のように追加する。

class ::Pod::Generator::Acknowledgements
  def header_title
    "HeaderTitle"
  end
  def header_text
    "HeaderText"
  end
  def footnote_title
    "FooterTitle"
  end
  def footnote_text
    "FooterText"
  end
end

ビルドターゲットで分ける

Podfile に以下のように追加する。

class ::Pod::Generator::Acknowledgements
  def header_title
    if @target_definition.label.end_with?("TargetName")
      "Title for TargetName"
    else
      "Title for other"
    end
  end
end

タイトル等のローカライズ

他の言語でも lproj フォルダ以外は同じで、日本語ローカライズの場合。

  1. Settings.bundle 内に ja.lproj フォルダを作成する
  2. Acknowledgements.strings を作成する
"HeaderTitle" = "ヘッダタイトル";

Next PostPrevious Post