先日、Cocoapodsに登録したMZRSlideInMenuを0.0.2にバージョンアップした顛末

先日、Cocoapodsに登録したMZRSlideInMenuを0.0.2にバージョンアップした顛末先日、自身としては初のCocoaPods登録をしました。本当にミニマルなUI部品ですが、勢い余ってCocoa Controlsに申請したところ、昨日Cocoa Controlsにも掲載されました。初のgitリポジトリ星17(現時点)と、とても嬉しいです。まぁ、可愛いレベルですね。星200超えとかやってみたいです。

で、今日、ちょっとだけ変更しようと思って(0.0.2にバージョンアップまでは考えず)いじってたらなんか変な変更加えてしまって、中途半端に0.0.2にバージョンアップをしようと思ったら、pod spec lintが通らないなど、「この状態のままにしてはまずい」とか変にハマってしまい、急遽、ちゃんと0.0.2にアップデートすることにしました。結果として何とかなったので、Cocoapodsに公開しているライブラリのバージョンアップに関してはほとんど情報が見当たらなかったということもあり簡単に書いておきます。誰かの参考にはなればと思います。ちゃんとまとめる時間がないのですが、簡単に書きます。

バージョンアップの仕方

  1. 必要な変更を加えます。
  2. tagをつけて(例: 0.0.2等)、GithubにPushします。
  3. podspecを書き換えます。versionを0.0.2、gitのtagを0.0.2にする等
  4. CocoaPods/SpecsをForkします。
  5. CocoaPods/SpecsをCloneします。
  6. 自分のディレクトリを探します。僕の場合、MZRSlideInMenu/の中に0.0.1という先日作成したディレクトリが1つありました。
  7. 0.0.1と同階層に0.0.2を追加します。
  8. 0.0.2の中に先ほど3.で作成したpodspecをコピーします。
  9. pod spec lintして問題がないことを確認します。
  10. git commitしてgit pushします。
  11. GithubのフォークしたページからPull Requestします。

Done

Done!

Pod

Done!

ハマったこと

結構、高速回転でハマリました。

まず、自分のローカルでpod spec lintしてエラー止まらなくなったこと。

 -> MZRSlideInMenu (0.0.1)
    - ERROR | [iOS] The `source_files` pattern did not match any file.

 -> MZRSlideInMenu (0.0.2)

Analyzed 2 podspecs.

[!] 1 out of 2 specs failed validation.

なんで、podspecsは1つしかないのに2specsをvalidationしてるのさ!ってずっと思ってました。これ、pod spec lint MZRSlideInMenu.podspecとすれば、1つしかチェックしないので問題なかったです。

 -> MZRSlideInMenu (0.0.2)

Analyzed 1 podspec.

MZRSlideInMenu.podspec passed validation.

pod spec lintは上にも書きましたが、既存のバージョンをすべて確認するコマンドなのかもしれません。

と、思い返したらこのハマリに苦しめられただけですんなり行ったのかもしれません。今回は、調べてもやり方が見つからなかったので本家のガイド通りにやりました。

Guide

CocoaPods Guides – Specs and the Specs Repoですが、言葉少なです。。。なんとか推測してやり遂げました。

関連記事

Pocket
LINEで送る

You may also like...