Help us understand the problem. What is going on with this article?

【Swift】CocoaPods導入手順

はじめに

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

開発環境

OSX 10.11.3 (El Capitan) and macOS 10.12.4 (Sierra) and macOS 10.15.4 (Catalina)
Xcode 7.2.1 and Xcode 8.3.1 and Xcode 11.4.1
CocoaPods 0.39 and CocoaPods 1.2.0 and Cocoapods 1.9.1

CocoaPodsの環境構築

CocoaPodsを設定します。
ターミナルで以下のコマンドを打ってください。

sudo gem install cocoapods

上記のコマンドが使えない方で、OSXがEl Capitan以降の方は、ターミナルで以下のコマンドを打ってください。
※Catalinaではsudo gem install cocoapodsでいけました

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 the next line to define a global platform for your project
# platform :ios, '9.0'

target 'sample-cocoapods' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for sample-cocoapods

  target 'sample-cocoapodsTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'sample-cocoapodsUITests' do
    # Pods for testing
  end

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.
    }
}
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした