1. ホーム
  2. スクリプト・コラム
  3. ルビートピックス

最新のCocoaPodsインストールチュートリアル

2022-01-03 04:52:47

CocoaPodsとは何ですか?

iOSアプリを開発していると、JSONKitやAFNetWorkingなど、サードパーティのオープンソースライブラリをたくさん使うことがあります。あるクラスライブラリが他のクラスライブラリを利用していて、それを利用するためには他のクラスライブラリを別途ダウンロードする必要があったり、他のクラスライブラリが他のクラスライブラリを利用していて、"子も孫も無限大"というのは、かなり特殊なケースかも知れませんが、そのようなことはありません。とにかく、何が言いたいかというと、必要なライブラリをひとつひとつ手作業でダウンロードするのは非常に面倒だということです。また、よくあるのが、プロジェクトで使っているライブラリが更新された場合、新しいバージョンを再ダウンロードしてプロジェクトに追加し直さなければならず、非常に面倒です。このような面倒な問題を解決してくれるツールがあればいいのですが。だから、CocoaPodsが必要なのです。

CocoaPodsは、おそらくiOS用のライブラリ管理ツールの中で最も人気があり有名なもので、上記の2つの厄介な問題は、正しく設定すればCocoaPodsからのコマンド一つで完全に解決することが可能です。重要なのは、有名なオープンソースライブラリのほとんどがCocoaPodsをサポートしているので、iOSプログラマとして、基本的なスキルとしてCocoaPodsの使い方をマスターする必要があるということです。

CocoaPodsのダウンロードとインストールはどのようにすればよいですか?

ステップ1:rubyのインストール

いきなりrubyのソースに乗り換えるのは無理があります。macにはrubyが搭載されていますが、一般的にバージョンが低く、アップデートに失敗するとバージョン依存の問題が発生する可能性があります。

ここでは、複数のrubyを共存させることができるrvmを使ってrubyを管理します。Rubyのバージョン管理ツールで、Rubyのバージョン管理、Gemのリポジトリ管理などがあります。

以下のコマンドでrvmをインストールします。

$ curl -L get.rvm.io | bash -s stable 
$ source ~/.bashrc 
$ source ~/.bash_profile 

これが完了したら、以下のコマンドでrvmが正常にインストールされたかどうか確認できます。

rvm -v 


次に、rvm を使って、Ruby のインストールやアップグレードを行うことができます。

MacBook-Air:~ xxxxx$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.6]
[ruby-]2.3[.3]
[ruby-]2.4[.0]
ruby-head


現在の最新版を確認し、以下のコマンドでインストールすることができます。

rvm install 2.4 


インストールしたら、次のサイトでデフォルトのバージョンに設定します。

rvm use 2.4 --default 


ステップ2:rubyのソースを変更する

最新のrubyにアップグレードした後、rubyのソースを変更することができます。

まず、元のオフウォールソースを削除します。

gem sources --remove https://rubygems.org/ 


次に、公式のruby Chinaで現在メンテナンスされている最新のソースを追加します。

gem sources -a https://gems.ruby-china.org/ 


そして、現在この1つのソースしかないことを確認します。

MacBook-Pro:~ xxxxx$ gem sources -l 
*** CURRENT SOURCES *** 
 
https://gems.ruby-china.org/ 


次に、ruby コンポーネントの更新を行います。

sudo gem update --system 


これらは、ほとんどのウェブでより権威のある手順なので、その通りにやって問題がなければ問題ありません。

それを辿っていくと、こんな風にアップデートでエラーが報告され続けました。

ERROR: While executing gem ... (OpenSSL::SSL::SSLError) 
  hostname "upyun.gems.ruby-china.org" does not match the server certificate 


最後にいろいろと試行錯誤。以下の方法で無事続行、同じ状況の方は以下を試してみてください。
まず、先ほど追加したソースを削除し、元のアドレスの末尾にあるスラッシュをatで削除して新たに追加します。

gem sources --remove https://gems.ruby-china.org/ 
gem sources -a https://gems.ruby-china.org 


ステップ3:CocoaPodsのインストール

sudo gem install -n /usr/local/bin cocoapods 
sudo xcode-select --switch /Applications/Xcode.app 


ターミナルで以下のコマンドを入力し、インストールを完了します。

pod setup 


このステップは少し時間がかかりますが、我慢してください。
インストールに失敗し、~/.cocoapodsが空の場合、再セットアップが必要です。

pod repo remove master 
pod setup 


最後に、Setup completedと表示されればインストール完了です。

ステップ4:Podfileの作成

1. 新しいプロジェクトを作成し、プロジェクトディレクトリにcdする
2. 新しいPodfileファイルを作成する

vim Podfile


3. i(英語入力状態)を押して編集状態にする
4. 適切なサードパーティとバージョンを入力します(例)。

platform:ios,'8.0' 
target 'name of your project' do 
pod 'class library name' 
end 


サードパーティのオープンソースライブラリがCocoaPodsに対応しているかどうかは、CocoaPodsの検索機能を使って確認することができます。ターミナルで、次のように入力します。

 $ pod search class library name


5. 編集後、escを押して、:wq(英語入力状態)と入力すると保存して終了します。

6、サードパーティライブラリをインポートする

 pod install


7. .xcworkspaceのサフィックスを持つプロジェクトファイルを開き、このファイルの後半にもコードを記述します。

8. サードパーティのライブラリを使用する必要がある場合、例えば、ヘッダーファイルをインポートします。#import <AFNetworking.h>