[iOSアプリ開発] プロジェクト新規作成をしたらはじめにやってること(2) CocoaPodsを取り入れる
プロジェクト新規作成をしたらはじめにやってること
こんにちは。
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が導入された状態になります。
それではまた。
Discussion