29
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOSのライブラリ管理(CocoaPods)

Last updated at Posted at 2015-10-14

iOSのライブラリ管理

検証環境

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

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

  • CocoaPods
  • Carthage(カルタゴ/カッセージ)

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を追加した例です。

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

use_frameworks!

target 'CocoaPodsApp' do
  pod 'Alamofire'
end

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

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
29
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?