まえがき
SwiftとObj-cでアプリを作っていて、iOSライブラリ?何それおいしいの状態で、結構はまることがあったので、勉強がてら導入方法を丁寧にまとめてみました。参考にしていただければ幸いです。
この記事を読んでできるようになること
iOSアプリを作るときに、ライブラリを簡単に導入することができるようになります。ライブラリを使って開発効率をアップさせることができます。
CocoaPodsとは
CocoaPodsはiOS/OSXの開発者が使うことのできる、iOS/OSXのライブラリ管理ツールです。それによって開発効率を高めることができます。
例えば、自前で作成すると時間がかかるような処理がライブラリにあったら、CocoaPodsを使って導入することで、開発効率を高めることができます。
ライブラリはオープンソースソフトウェア(OSS)でgithubなどでソースコードが公開されています。
もし不具合などあれば自分で直したり、バグ情報を共有することができます。ただし、OSSんp注意点の一つとして、導入したOSがバージョンアップした時にライブラリで不具合が起きることなどあります。
タイムリーな話として、iOS9対応できちんと動かなくなりそうなライブラリ(ipv6対応がいずれ必要となる通信周りのライブラリ)があったので今回の調査をして記事の作成に至りましたw
導入方法
1.インストール
ターミナルを開いて以下を実行します。
sudo gem install cocoapods
CocoaPodsはRubyで書かれているため、gemというパッケージ管理ツールでインストールできます。gemを使うためにはRubyが入っている必要がありますが、Macでは標準でRubyがインストールされているので、いきなりこのコマンドで大丈夫です。
2016年6月3日追記
El Capitanから上記コマンドだとinstallできないので、その場合は下記参照です。
MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法
2.利用可能なライブラリの情報を更新
CocoaPodsで使用しているライブラリの情報を更新します。
pod setup
3.Podfleの作成
ライブラリを使うプロジェクトファイル(例:Hoge.xcodeproj)と同じディレクトリで「Podfile」という名前のファイルを作成します。
サポートするOSのバージョンや、インストールするライブラリを指定します。作成方法は、テキストエディタで作ってもいいですし、vimで作ってもよいです。今回は↓の内容で作りましょう。
platform :ios, "8.0"
pod 'CocoaLumberjack'
platformの設定について
ライブラリはどんなバージョンのOSでも動くなんてことはないので、
platformで、サポート対象OSを指定します。
今回はiOS8.0以降で動作を指定しています。
何も書かない場合は、iOSの場合6.0以降として設定されます。
podの設定について
CocoaLuberjackというログ出力ライブラリを今回はインストールしています。詳しい使い方は、参考サイトの記事をご参照ください。
4.ライブラリをインストールする
ライブラリを使うプロジェクトファイル(例:Hoge.xcodeproj)をXcodeで閉じたあとに、ターミナルで、今作ったPodfileがあるディレクトリに移動し、以下を実行します。
pod install
すると、以下の3つが新しく作成されます。
- <プロジェクト名>.xcworkspace
- Podsフォルダ
- Podfile.lock
一個目のxcworkspaceをFinderでタップすると、
Xcodeで開くことができ、次のキャプチャにあるように、Podsフォルダが追加され、その中にCocoaLumberjackのフォルダが追加されてることが確認できます。
5.ライブラリを使う
追加したライブラリを使うには、インポートする必要があります。
Obj-cの場合
使いたいファイルの冒頭に次の一文を加えてください。
#import <CocoaLumberjack/CocoaLumberjack.h>
Swiftの場合
1. Brighing-Headerファイルの作成
Swiftの場合はSwiftからObj-cを呼び出すとになり、まずはBrighing-Headerファイルを作る必要があります。
(Swift製のライブラリの導入方法は、後日調べて追記しますw)
2.Brighing-Headerファイルの設定方法
Build Settingsで、今作成したBrighing-Headerファイルを、読み込む設定をします。