はじめに...
初心者からすると触りにくいライブラリの導入について、自分が一番簡単だと思っている手順を紹介します。
自分がすごく壁を感じてたところだったので、初めての人にわかりやすいように書けたらなと思ってます。。
開発環境は xcode Version10.1です。
それでは最初にライブラリの導入の種類を簡単に紹介します。
ライブラリの導入の方法の種類の説明
1.CocoaPods
ライブラリの設定が手軽で、多くの人はこのやり方をしているんじゃないでしょうか。
しかし、実は面倒な作業が発生するし、柔軟性がないためあまり推奨はしていません。(特にチーム開発)
Cocoapodsでは配布時に必要となるPodSpecをプロジェクトに追加しなければなりません。
しかし、ここに追加する情報は、XcodeとGitHubに既に存在している情報なので,結果情報が重複していることになるのです。
2.swift Package Manager
ついにswiftの公式Packageが出ましたが、以前からあった他の二つのやり方に比べて、難しいし使い勝手もまだ悪いです。
3.Carthage
正直、projectとCartfileを結びつつけるのはめんどくさいとも言われています。
でも一度覚えてしまったら難しいことではないので大丈夫です。
いい点としては、brewにインストールするので簡単ですし、ライブラリを最初にインストールしてしまうことで、buildが他の方法より早くなります。
Carthageが好まれるのはこの点ではないでしょうか。
私はCarthage推奨派なので、今回このやり方で進めさせていただこうと思ってます。
プロジェクト作成からライブラリの導入まで
Homebrewの導入
(Homebrewとはパッケージ管理システム
の一つです。)
この処理はPC内で一度してしまえば,それ以降する必要はありません。
下のコマンドでHomebrewがインストールできます。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Carthageの導入
さっきインストール経由してCarthageをインストールする。
下のコマンドでインストール。
brew install carthage
これも一度PCでしてしまえばそれ以降する必要はありません。
ここまででCarthageを用いる準備ができました。
ライブラリの導入
最初にライブラリを導入したいプロジェクト(今回Qiita_Viewer
で作っています)のところまで移動。
cd ~/Desktop/Qiita_Viewer
その後、
touch Cartfile // Cartfileを作成
vim Cartfile // Cartfileを編集
ここで作ったCarfile
のなかに下のコードを書き込んでください。
github "Alamofire/Alamofire"
github "SwiftyJSON/SwiftyJSON"
編集方法はこうです。
i
を押して入力モードesc
で入力モードから抜ける。
その状態で:wq
で保存して終了。
保存したくない場合は、:q!
で保存せず終了できます。
carthage update --platform iOS
結構時間がかかりますが、完了すると以下のような状態になります。
これでライブラリの導入は完了!
次に実際にプロジェクト内でライブラリを追加する作業を行います。
プロジェクト内にライブラリを追加
まず、新しいプロジェクトファイルをSingleViewApp
から立ち上げてください。
まずプロジェクトファイルのGeneralタブから、
Linked Frameworks and Library
にある+ボタンを押します。
FrameWorksを選択する画面になるので、Add Other..
を選択。
プロジェクトのディレクトリ内から、Carthage/Build/iOSと移動し、
ライブラリのAlamofire.frameworkとSwiftyJSON.frameworkを選択します。
ライブラリが追加できたら、Build Phases
タブに移動し、
+ボタンから、「New Run Script Phase」を選択します。
その後、shell
の部分に
/usr/local/bin/carthage copy-frameworks
そして次に「input Files」にて+ボタンを押し、以下のようにframeworkの情報を記述します。
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework
これでライブラリの追加は完了です!