Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

ダミーのpodspecを作って、画像素材などのライセンスもCocoaPodsと一緒に表示する

More than 5 years have passed since last update.

CocoaPodsはiOSやMacアプリを作る際のライブラリ管理に便利ですが、ライセンス一覧を自動生成してくれるのも地味に助かります。
近々、本体からは分離してしまうようですが…。

VTAcknowledgementsViewControllerなどを使えば、生成されるplistファイルを元に、簡単にライセンス画面が表示できてしまいます。

ここで気になるのは、画像や音楽素材など、CocoaPodsで管理していないもの達。同じ謝辞なのにCocoaPodsと別に表示するのも微妙といえば微妙です。

で、今までは、こんな風にPodfileのpost_installで、無理やりplistを書き換えてたんですが、使い回しづらいし、馬鹿っぽいなと思ったので、ダミーのpodspecを作ってやってみました。

tnantoka/podspecs

例えば、Bootstrap用のpodspecは以下のようになります。

Bootstrap.podspec
Pod::Spec.new do |s|
  s.name             = "Bootstrap"
  s.version          = "0.1.0"
  s.summary          = ""
  s.description      = <<-DESC
                       DESC
  s.homepage         = "https://github.com/twbs/bootstrap"
  s.license          = { :type => 'MIT', :file => 'Specs/Bootstrap/LICENSE' }
  s.author           = 'Twitter, Inc'
  s.source           = { :git => "https://github.com/tnantoka/podspecs.git", :tag => s.version.to_s }
end

Bootstrapのようにgit管理されているものは、直接twbs/bootstrapをsourceに指定してもいいんですが、無駄にcloneしてくるのもあれなので、LICENSEファイルだけ拝借してきました。

あとは、Podfileにこのpodspecを指定してpod installするだけ。

Podfile
source 'https://github.com/CocoaPods/Specs.git'

pod 'VTAcknowledgementsViewController', '~> 0.12'

pod 'Bootstrap', podspec: 'https://raw.githubusercontent.com/tnantoka/podspecs/master/Specs/Bootstrap/Bootstrap.podspec'

post_install do | installer |
  require 'fileutils'
  FileUtils.cp_r('Pods/Target Support Files/Pods/Pods-acknowledgements.plist', 'Podspecs/Pods-acknowledgements.plist')
end

VTAcknowledgementsViewControllerなら、こんな感じに表示されます。

ベストな方法ではないと思いますが、しばらくは素材のライセンス系はここで管理していく予定です。

もし他にいい方法があれば教えて下さい!

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