[iOSアプリ開発] プロジェクト新規作成をしたらはじめにやってること(2) CocoaPodsを取り入れる

3 min read読了の目安(約3100字

プロジェクト新規作成をしたらはじめにやってること

こんにちは。
iOSアプリ開発のちょっとしたTipsなどを書いていければと思います。

今回も、iOSアプリ(主にiPhone用)の開発を新しく始めたときに、いつもやってるなぁと思うことを短くまとめようと思います。
この記事ではCocoaPodsの導入を書いていきます。

CocoaPodsとは何ですか?

公式ドキュメントによると

What is CocoaPods
CocoaPods manages library dependencies for your Xcode projects.

The dependencies for your projects are specified in a single text file called a Podfile. CocoaPods will resolve dependencies between libraries, fetch the resulting source code, then link it together in an Xcode workspace to build your project.

Ultimately the goal is to improve discoverability of, and engagement in, third party open-source libraries by creating a more centralised ecosystem.

CocoaPodsとは何か
CocoaPodsはあなたのXcodeプロジェクトのライブラリ依存関係を管理します。

プロジェクトの依存関係はPodfileと呼ばれる一つのテキストファイルで指定されます。CocoaPodsはライブラリ同士の依存関係を解決して、結果のソースコードを取得し、Xcodeワークスペースで互いに結合する形でプロジェクトをビルドします。

最終的なゴールは、さらなる強固なエコシステムで作られたサードパーティのオープンソースライブラリを見つける可能性と引き合わせることです。

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. > It has over 80 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly.

CocoaPodsとはSwiftとObjective-CのCocoaプロジェクトのための依存関係管理のことです。 8万以上のライブラリがあり、300万以上のアプリで利用されています。 CocoaPodsはあなたのプロジェクトをエレガントにスケーリングするのに役立ちます。

iOSのライブラリ管理ツールとしては

  • CocoaPods
  • Carthage
  • Swift Package Manager

の3つが挙がりますが、主だったライブラリをさくっと導入するにはCocoaPodsがお手軽なので、まずはCocoaPodsを選択することが多いです。(ビルド時間の問題や、ライブラリの対応・非対応などで他を選択することもあります)

CocoaPodsのインストール

Mac環境であれば、標準で入っているRubyを使ってgem(Rubyのパッケージ管理システム)経由でインストールをします。

ターミナルで以下を叩くだけです。

% sudo gem install cocoapods

CocoaPodsを使用する

CocoaPodsを使用するためには、まずはターミナルでプロジェクトのあるルートディレクトリに移動する必要があります。
「プロジェクトのあるルートディレクトリ」とは、(プロジェクト名).xcodeprojがあるディレクトリのことです。

% cd (プロジェクトのあるルートディレクトリ)

初期化

ここでCocoaPodsの初期化を行うために CocoaPodsのinitコマンドを打ちます。

% pod init

このコマンドは結果としてPodfileという設定用ファイルを作るだけですが、同時にプロジェクトのあるルートディレクトリにいるかどうかの判定もしてくれます。

[!] No Xcode project found, please specify one

このようなエラーが出たら、ターミナルの現在地を見直してください。

まずはインストールコマンド

Podfileができあがると、プロジェクトに依存関係をするためのinstallコマンドを打ちます。

% pod install

実行されると

  • Podfile.lock
  • Pods/
  • (プロジェクト名).xcworkspace

が自動的に作られるはずです。

もし、Xcodeで(プロジェクト名).xcodeprojを開いている場合は、それを閉じて(プロジェクト名).xcworkspaceを開いてください。以降はxcodeprojを使わずにxcworkspaceを使うことになります。

Podfileの中身

さきほどのinitコマンドで作成されたPodfileはrubyで書かれたソースコードファイルです。

(プロジェクト名).xcworkspaceを開くと、左ペインから編集することができます。

デフォルトの中身はこんな感じ

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target '(プロジェクト名)' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for (プロジェクト名)

end

一番シンプルな使い方は、# Pods for (プロジェクト名)の部分に使用したいライブラリを記述していき、installすることです。今回は導入部分だけに絞りたいと思うので、記述方法はまた別途ということで。

まとめ

今日書いたことを順にまとめると

# まだCocoaPodsがインストールされていない場合
% sudo gem install cocoapods
% cd (プロジェクトのあるルートディレクトリ)
% pod init
% pod install
% open (プロジェクト名).xcworkspace

これでプロジェクトにCocoaPodsが導入された状態になります。

それではまた。