Edited at

【Swift】CocoaPods導入手順


はじめに

今回はMacにCocoaPodsを設定し、SVProgressHUDを使ってライブラリを使うところまでをこの記事では行います。


開発環境

OSX 10.11.3 (El Capitan) and macOS 10.12.4 (Sierra)

Xcode 7.2.1 and Xcode 8.3.1

CocoaPods 0.39 and CocoaPods 1.2.0


CocoaPodsの環境構築

CocoaPodsを設定します。

ターミナルで以下のコマンドを打ってください。

sudo gem install cocoapods

上記のコマンドが使えない方で、OSXがEl Capitanの方は、ターミナルで以下のコマンドを打ってください。

sudo gem install -n /usr/local/bin cocoapods

理由はこちらから

MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法

次に、インストールが終わった段階で、以下のコマンドを打ちます。

pod setup

以上で完了です!!


ライブラリの導入

ターミナルからCocoaPodsを使って、プロジェクトにライブラリを導入します。

まずターミナルから、以下の3つのコマンドを使ってプロジェクトファイルまで移動しましょう。

cd

//ディレクトリ移動

ls
//ファイルを表示

pwd
//現在のディレクトリを表示

詳しくはこちらから

今さら聞けない!ターミナルの使い方【初心者向け】


Podfileを生成

プロジェクトファイルを選択後、以下のコマンドを打ちます。

pod init

pod initはかならず行ってください。

理由はこちらから

Cocoapods 1.0.0で注意すること

このコマンドでPodfileが自動的につくられます。

生成されたPodfileは、初期状態は以下の状態です。

# 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 'アプリ名' do

end

target 'アプリ名Tests' do

end

target 'アプリ名UITests' do

end

Cocoapodsのバージョンが1.0.0の場合の、初期状態は以下のようになっています


Podfile

target 'アプリ名' do

# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for SampleLocation

target 'アプリ名Tests' do
inherit! :search_paths
# Pods for testing
end

target 'アプリ名UITests' do
inherit! :search_paths
# Pods for testing
end

end


この状態から4行目のuse_frameworks!のコメントを取ります。

Cocoapodsのバージョンが1.0.0の場合は、use_frameworks!のコメントがすでに取れています。

これにより、Objective-Cにより作成されたライブラリでも、Bridging-Headerを作成する必要がなくなり、Swiftにより作成されたライブラリの場合は、コメントを取るのが必須なので、どちらにしても、#を消して有効化することをオススメします。

理由はこちら

Swift 対応版 CocoaPods を使う


Podfileを編集

今回はSVProgressHUDを使用しますので、以下のように編集します。

# 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 'アプリ名' do
pod 'SVProgressHUD'
end

target 'アプリ名Tests' do

end

target 'アプリ名UITests' do

end

Cocoapodsのバージョンが1.0.0の場合は以下のように編集


Podfile


# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'アプリ名' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for SampleLocation
 pod 'SVProgressHUD'

target 'アプリ名Tests' do
inherit! :search_paths
# Pods for testing
end

target 'アプリ名UITests' do
inherit! :search_paths
# Pods for testing
end

end


ライブラリのバージョンを指定したい場合は、

pod 'SVProgressHUD', '~> 1.1.3'

バージョン管理の書き方はこちら

Cocoapodのバージョン管理


ライブラリをインストール

初めてプロジェクトにライブラリを導入するときは、

pod install

2回目以降(ライブラリの追加や削除)は、

pod update

というコマンドを打ちます。


コードの記入

以下のマークのxcworkspaceを開きます。

スクリーンショット 2016-02-19 18.33.09.png

次に、ローダーを表示したい画面のViewController.swiftで

まず、ライブラリをインポートします

import SVProgressHUD

あとは、必要な箇所に

SVProgressHUD.show()

などと記述するだけです!

例えば、ViewController.swiftが表示されると同時に、ローディングを表示する場合は、以下のように書いていただければ、大丈夫です。


ViewController.swift

import UIKit

import SVProgressHUD // インポートは必ずここ

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
SVProgressHUD.show()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}