CocoaPods にライブラリを登録する

この記事は

  • CocoaPods へライブラリを登録する方法をまとめる。

登録の方法

1. podspec ファイルを作成する

$ pod spec create MyLib

2. podspec ファイルを編集する

  • 以下、サンプルを載せる
  • Podspec ファイルの構文リファレンスについて詳しくは Podspec Syntax Reference を参照すること
Pod::Spec.new do |spec|

  # ―――  メタデータ  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  # 名前、バージョン、概要など記載
  spec.name         = "MyLib"
  spec.version      = "1.0.0"
  spec.summary      = "This is MyLib."

  # 説明
  # << -DESC から DESC までが使われる。
  spec.description  = <<-DESC
                   This is MyLib Description.
                   DESC

  # ホームページ
  spec.homepage     = "https://github.com/daisuke-t-jp/MyLib"

  # スクリーンショット
  spec.screenshots  = "https://raw.githubusercontent.com/daisuke-t-jp/MyLib/master/images/header.png"


  # ―――  ライセンス  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  spec.license      = { :type => "MIT", :file => "LICENSE" }


  # ――― 作者  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  spec.author       = { "daisuke-t-jp" => "daisuke.t.jp@gmail.com" }


  # ――― プラットフォーム指定 ――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  spec.ios.deployment_target = "10.0"
  spec.osx.deployment_target = "10.12"
  spec.tvos.deployment_target = "12.0"


  # ――― ソース関連―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  # Git リポジトリとタグを指定する
  spec.source       = { :git => "https://github.com/daisuke-t-jp/MyLib.git", :tag => "#{spec.version}" }

  spec.source_files  = "Sources/MyLib/*.{swift}"


  # ――― プロジェクト設定 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  spec.swift_version = "5.0"
  spec.requires_arc = true

end

注意点

  • source_files には info.plist を含めないようにする

3. リントを実行する

$ pod lib lint

エラーや警告の内容をチェックする

4. CocoaPods にアカウントを登録する

ライブラリ(リポジトリ)ごとに一度で良い

$ pod trunk register mail@addr 'Account name'

5. CocoaPods にライブラリをプッシュする

$ pod trunk push MyLib.podspec

もし、警告によりプッシュが失敗してしまい、かつその警告を無視してプッシュしたい場合は --allow-warnings オプションをつける

$ pod trunk push MyLib.podspec --allow-warnings

これで完了

6. ライブラリの更新をプッシュする時は...

  • Podspec を必要に応じて更新して(バージョンの記載部分など)
  • リントしてから
  • プッシュをする

おわり