CocoaPodsでiOSのライブラリ管理

CocoaPodsでiOSのライブラリ管理

みなさんこんにちは

長いブランクのあったiOS開発を最近再開した意識高い系エンジニアです。

当時といろいろ状況が変わっていていろいろ驚いているのですが、ライブラリ管理で便利なCocoaPodsというものがあったので紹介したいと思います。

検証環境

  • Mac OS X El Capitan 10.11
  • XCode 7.0
  • Cocoa Pods 0.38.2

iOSのライブラリ管理で有名なものとして以下の2つのツールがあります。

  • CocoaPods
  • Carthage(カルタゴまたはカッセージと読むらしい)

今回はCocoaPodsの方を紹介します。
CocoaPodsは、デファクトスタンダードなCocoaのライブラリ管理ツールとしてかなり使われているようです。

動作に必要な環境

  • Ruby
  • Command Line Tools(XCode)

インストール方法

gemコマンドでインストールします

gem install cocoapods

ライブラリの追加方法

Swiftのライブラリを利用する場合と、Objective-Cのライブラリを利用する場合で変わりますが、以下の手順はいずれも以下のとおりです。

1.初期化処理

最初に初期化処理を行います。
初期化処理を行うためにはiOSのプロジェクトディレクトリに移動して以下のコマンドを入力します。

pod init

ターゲット毎の設定が記述されたPodfileが生成されます。

Swiftのライブラリを利用する場合の注意点

以下の条件が揃えばSwiftに対応できるようです。
– Deployment Target が 8.0 以上
– Podfile に use_frameworks! の記述を加える

2.Podfileへの追記

ライブラリをインストールするためには初期化処理で作成したPodfileにインストールしたいライブラリの名前を記述します。

以下の例はネットワークライブラリのAlamofireを追加した例です。

Podfile

# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'

use_frameworks!

target 'CocoaPodsApp' do
  pod 'Alamofire'
end

以下のようにライブラリのバージョン指定も可能です。

Podfile

target 'CocoaPodsApp' do
  pod 'Alamofire', '3.0.0'
end
記号 説明
‘0.1’ バージョン0.1のみ
‘> 0.1’ バージョン0.1より高い
‘>= 0.1’ バージョン0.1以上
‘< 0.1’ バージョン0.1より低い
‘<= 0.1’ バージョン0.1以下
‘~> 0.1.2’ 0.1.xの最新バージョン

3.インストールコマンドの実行

Podfileに追加した後は以下のコマンドを入力してライブラリをインストールします。

pod install

pod installで生成されるファイルについて

pod installを実行すると、以下のファイルが作成されます。

  • {$projectname}.xcworkspace
    • CocoaPodsでインストールされたライブラリが組み込まれた状態のワークスペースファイルで、プロジェクトを開くときはこのファイルから開く必要があります。
  • Podfile.lock
    • インストールされた時点のバージョンが記述されたファイルで、環境が違っても同じバージョンのライブラリがインストール出来るようになります。
  • Pods
    • ライブラリ本体が格納されるディレクトリです。

Podfileuse_frameworks!の記述を追加しないで実行すると以下の様なエラーメッセージが表示されます。

[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pod being used is: Alamofire

このメッセージをみる限り、Swiftで書かれたライブラリをCocoaPodsのフレームワークとして統合する機能はまだベータ版のようです。

CocoaPodsでインストール可能なライブラリ名は以下のサイトで検索することができます。

https://cocoapods.org/

4.{$projectname}.xcworkspaceから開く

pod installを実行するとワークスペースが作られるので、そちらからプロジェクトを開くようにします。
元からあったxcodeprojから開くとビルド時に以下のようなエラーが出ます。

linker command failed with exit code 1 (use -v to see invocation)

5.Importして使う

これで使いたいところで以下のようにインポートして使う事ができるようになります。

import Alamofire

TAG

  • このエントリーをはてなブックマークに追加
金子 将範
エンジニア 金子 将範 rubyist

新しいことや難しい課題に挑戦することにやりがいを感じ、安定やぬるい事は退屈だと感じます。 考えるより先に手が動く、肉体派エンジニアで座右の銘は諸行無常。 大事なのは感性、プログラミングにおいても感覚で理解し、感覚で書きます。