なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Swift で外部ライブラリを追加する

アプリ開発で必要が出てくる、外部ライブラリの使用。
そのやり方のメモ。


ブランクもあれど、1週間触ってだんだんと慣れてきたので、ライブラリを導入してみます。
Swift でのライブラリ導入では、下の3つのパッケージマネージャがよく使われているみたい。

最後の Swift Package Manager は Apple 公式のものっぽい。

GitHub - apple/swift-package-manager

といっても、とりあえず私は、資料が一番多かった Cocoapods を使うことにしました。

導入方法は簡単で、

$ sudo gem install cocoapods

たったこれだけ。とても便利です。

次に、 Xcode のプロジェクトがあるディレクトリで、コマンドを実行します。

$ pod init

これで、 Podsfile が生成されるので、ここに導入するライブラリを記述しています。
Ruby の Gemfile みたいなものです。

初期状態だと、このようになってるはず。

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!

target 'Project' do

end

target 'ProjectTests' do

end

target 'ProjectUITests' do

end

私は Swift を使っているので、 4 行目のコメントを解除します。
また、 OS X のアプリを使っているので、 2 行目をいい感じにします。
ちなみに plafrom には ios, osx, tvos, watchos のいずれかが指定できます。

ということで、こうなります。

# Uncomment this line to define a global platform for your project
platform :osx, '10.11'
# Uncomment this line if you're using Swift
use_frameworks!

target 'Project' do

end

target 'ProjectTests' do

end

target 'ProjectUITests' do

end

次に、依存ライブラリを追加します。
target 'Hoge' の部分は、 Hoge プロジェクトで使うもの ということで、分かれています。
全部共通で使う場合は、一番下とか、 target の中じゃない部分に追加します。
ということで、 Swift での定番ネットワークライブラリらしい、Alamofireを、
Project に対して導入してみます。

# Uncomment this line to define a global platform for your project
platform :osx, '10.11'
# Uncomment this line if you're using Swift
use_frameworks!

target 'Project' do
  pod 'Alamofire', '~> 3.0'
end

target 'ProjectTests' do

end

target 'ProjectUITests' do

end

で、保存して、コマンドを実行します。

$ pod install

これで導入完了です。
生成された *.xcworkspace を Xcode で開くと、きちんと導入されており、

import Al

と入力すると、 Alamofire まで、補完が出るようになります。
出なかった場合は、一度ビルドすると、出るようになります。なりました。