Home » xcode » CocoaPodsを使う

CocoaPodsを使う

CocoaPodsは、xcodeで利用できるライブラリ管理ツールです。
SDK標準以外のライブラリを使う場合に必要な、ライブラリ自体のダウンロードや、ヘッダやリンカーのパス解決といった作業を、ほぼ自動で行ってくれます。

このCocoaPodsを使って自分のプロジェクトにライブラリを組み込む手順を、グラフ描画ライブラリのBEMSimpleLineGraphを例に紹介します。


下準備

まずはCocoaPodsが使えるようにしておきます。
といっても、gem install で簡単に導入できます。

$ sudo gem install cocoapods

下準備は以上です。


プロジェクトを作る

xcodeを起動して、適当なプロジェクトを作ります。
今回はグラフ描画ということで、sample_graphという名前にしました。

スクリーンショット 2015-05-09 17.14.16

スクリーンショット 2015-05-09 17.15.05


ライブラリを導入する

いったんxcodeを閉じます。
先ほど作成したプロジェクトのルートフォルダに、Podfileというファイルを以下の内容で作成します。

platform :ios, '8.0'
pod 'BEMSimpleLineGraph'

pod の後に、シングルクオートで導入するライブラリ名を書きます。

Podfileを作ったら、ターミナルで同じ場所(プロジェクトのルートフォルダ)に移動し、以下を実行します。

$ pod install
WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ‾/.profile:

export LANG=en_US.UTF-8

Analyzing dependencies
Downloading dependencies
Installing BEMSimpleLineGraph (4.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `sample_graph.xcworkspace` for this project from now on.

ターミナルの文字コードをUTF-8にしろと怒られましたが、ライブラリの導入には成功しているので気にしないで進めます。


インポート設定

xcodeでプロジェクトを立ち上げます。
この際、もともとのプロジェクトファイルである sample_graph.xcodeproj は使用しません。
xcodeproj でもプロジェクトは起動しますが、コンパイル時にリンカーエラーになってしまいます。

新しく、sample_graph.xcworkspace という、拡張子が .xcworkspace のプロジェクトファイルができているので、こちらを起動しましょう。

スクリーンショット 2015-05-09 17.37.20

プロジェクトを立ち上げたら、ヘッダファイルを作ります。
名前は Bridging-Header.hとします。

スクリーンショット 2015-05-09 17.40.27

スクリーンショット 2015-05-09 17.40.51

これは、Objective-Cで書かれたライブラリをSwiftで使うために必要なファイルです。
SwiftからObjective-Cのライブラリを使う場合は、このファイルにimport文を記載しておく必要があります。

作成されたヘッダファイルに、以下の記載を追加します。

#import "BEMSimpleLineGraphView.h"

このヘッダファイルをパスを Build Settings に追加します。
追加する場所は、Build Settings -> Swift Compiler – Code Generation -> Objective-C Bridging Header です。

スクリーンショット 2015-05-09 17.50.39


ライブラリを使ってみる

組み込んだライブラリを使ったアプリを作ってみます。
ここからは、例として扱っている BEMSimpleLineGraph の利用手順となります。
実際は導入するライブラリの利用方法に従ってください。

まず、storyboardに適当なViewを作り、クラスを BEMSimpleLineGraphView に変更します。

スクリーンショット 2015-05-09 18.04.22

BEMSimpleLineGraphViewのサブクラスを作成し、delegete、detasource、メソッドを実装します。
IBOutletは storyboard のViewとひも付けておきます。

実行結果です。
簡単ですが、折れ線グラフが描画されました。

スクリーンショット 2015-05-09 18.25.48

Post Tag With : ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です