CocoaPods を前のバージョンに戻す
Cocoa プログラミング
CocoaPods をバージョンアップしたところ、ビルドした OS X アプリをコード署名できなくなったことがありました。
そんな時に CocoaPods を以前のバージョンに戻す方法です。
いつものように OS X アプリをアーカイブして Developer ID 署名アプリとしてエクスポートしようとしたところ、コード署名ができないというエラーになってしまいました。
An error occurred during export
Codesign failed
過去に署名できていたアーカイブを再署名できたので、電子署名がおかしくなっていることではない様子です。そして、署名ができていた最近のコミットに戻して再アーカイブしてみても署名できないようでした。
そうして心当たりを探ってみていたところ、今回の署名できない問題は、ライブラリ管理ツール CocoaPods をバージョンアップしたのが原因だったことがわかりました。
どうやら CocoaPods を 0.39.0.beta.5 から 0.39.0.rc.1 または 0.39.0 にアップデートしたタイミングで今回のエラーが発生する様子でした。
そこで今回はインストールしている CocoaPods のバージョンを前のバージョンに戻してみることにしました。
CocoaPods を以前のバージョンに戻す
以前に使っていたバージョンに戻したい場合
戻したいバージョンを以前に使っていた場合は簡単で、ターミナルから次のコマンドを実行します。
sudo gem uninstall cocoapods
このようにすると、現在インストールされているバージョンがリストで表示されるので、不要なものを選択して削除することができます。
Select gem to uninstall: 1. cocoapods-0.37.1 2. cocoapods-0.37.2 3. cocoapods-0.38.0.beta.2 4. cocoapods-0.38.0 5. cocoapods-0.38.2 6. cocoapods-0.39.0.beta.4 7. cocoapods-0.39.0.beta.5 8. cocoapods-0.39.0 9. All versions >
今回であれば 0.39.0.beta.5 までが期待通りに動作していたバージョンなので、それ以降の CocoaPods を削除することによって、バージョンを元に戻すことができました。
リストで指定しなくても SOURCE
sudo gem uninstall cocoapods -v 0.39.0.rc.1 のようにすることで、指定したバージョンの CocoaPods を削除できます。また、現在の CocoaPods のバージョンが幾つかは pod --version
コマンドで確認できます。
特定のバージョンをインストールしたい場合
戻したいバージョンがシステムにインストールされていない場合は、次のようにバージョンを明示してインストールします。
sudo gem install cocoapods -v 0.39.0.beta.5
このようにすることで、指定したバージョンの CocoaPods をインストールできます。
インストールしたバージョンよりも新しいものがインストールされている場合はそれが優先して使われるようなので、新しいバージョンのものを上で紹介した方法で削除してあげると、ここでインストールしたバージョンの CocoaPods が利用できるようになります。