你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)

Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)

編輯:IOS7技巧
下面我們來看一篇關於Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)的例子,希望文章能夠對各位有幫助。

我們開發的時候,常常需要引入一些第三方庫(比如:Alamofire、SwiftyJSON 等等)。過去的做法是把這些庫下載下來,並引入到工程中。如果有依賴其他庫的話,還要手動將這些依賴庫給添加進來。關鍵是如果這些第三方庫後面有更新的話,我們還要先把項目中原來的庫給刪除。再重復前面的步驟。這樣就很麻煩了。

而使用 CocoaPods 以後,這些工作我們都不需要做。只需做好配置工作,安裝更新這些第三方庫,CocoaPods 都會自動幫我們做好。

一、CocoaPods介紹

(1)CocoaPods 是 ios 開發中的第三方庫管理的工具。目的是讓我們能自動化的、集中的、直觀的管理第三方開源庫。
(2)CocoaPods 能夠自動解決庫與庫之間的依賴關系,下載庫的源代碼。並創建一個 Xcode 的 workspace 來將這些第三方庫和我們的工程連接起來,供我們開發使用。


二、安裝CocoaPods

1,將gem升級為最新版本

sudo gem update --system

2,運行如下命令安裝CocoaPods

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

接著執行如下命令,如果沒有報錯,就說明一切安裝成功了。(這個執行後要等上一段時間,Cocoapods 在將它的信息下載到 ~/.cocoapods 裡。大概有100多兆。)
1
pod setup

3,安裝後執行如下命令查看版本

pod --version
原文:Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)

4,以後要更新升級CocoaPods,執行如下命令

sudo gem update cocoapods


三、CocoaPods安裝失敗的原因和解決辦法

1,執行install後一直沒反應,無法安裝
有時你會發現執行 install 命令後一直沒有反應。這是因為 Ruby 的默認源使用的是 rubygems.org。由於國內網絡原因,訪問這上面的資源文件會間歇性連接失敗。
(1)我們可以執行如下命令,將源改成使用淘寶提供的 rubygems.org 鏡像
1
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/

(2)接著執行下面命令,確保只有 ruby.taobao.org

gem sources -l

 

(3)最後再使用 install 就能成功安裝 CocoaPods 了。

2,Ruby版本太低

如果本機 Ruby 的版本過低也可能導致安裝失敗。


(1)安裝 rvm(rvm 可以讓我們擁有多個版本的 Ruby,並且可以在多個版本之間自由切換。)
1
2
curl -L get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

(2)完畢後執行如下命令,如果出現版本號則說明 rvm 安裝成功。

rvm -v

(3)執行 rvm list known 命令可以列出所有 ruby 可安裝的版本信息。

 

(4)我們安裝一個 ruby 版本

rvm install 2.2.4

(5)並將其設置為默認版本。這時我們應該就可以正常安裝 CocoaPods 了。
1
rvm use 2.2.4 --default

(6)使用 rvm list 命令可以查看已安裝的 ruby


(7)如果要卸載一個已安裝 ruby 版本,執行如下命令。

rvm remove 2.1.4

四、CocoaPods的使用

下面我們創建一個工程項目(假設工程名是 hangge_1358),演示如果使用 CocoaPods 自動下載、導入、配置第三方庫。
1,創建Podfile
首先進入到工程的根目錄下,創建空白的Podfile 文件。

cd /Users/hangge/Documents/Code/hangge_1358
touch Podfile

原文:Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)
 
2,編輯Podfile

我們在 Podfile 文件中寫上需要引入的第三方庫,這裡以 Alamofire、SwiftyJSON 這兩個庫為例。

platform :ios, '8.0'
use_frameworks!
 
target 'hangge_1358’ do
    pod 'Alamofire'
    pod 'SwiftyJSON'
end

3,開始導入庫

(1)執行下面命令,開始導入前面配置的第三方庫。

cd /Users/hangge/Documents/Code/hangge_1358
pod install


(2)執行成功後。看到工程根目錄下多了三個新文件:hangge_1358.xcworkspace、Podfile.lock 文件、Pods 目錄。
原文:Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)

4,打開新生成的hangge_1358.xcworkspace
(1)往後我們就需要使用這個新生成的 hangge_1358.xcworkspace 文件來開發。因為原來的工程(hangge_1358.xcodeproj)設置已經被更改了,如果我們直接打開原來的工程文件去編譯就會報錯。
(2)打開後可以看到裡面除了我們項目工程,還有一個 Pods 工程。整個結構還是很清晰明了的。
原文:Swift - CocoaPods的安裝使用詳解(自動安裝管理第三方庫)

5,測試代碼
開發時,我們只需要在使用的時候 import 一下需要的庫就可以了。

import UIKit
import Alamofire
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        
        Alamofire.request(.GET, "")
            .responseString { response in
                print("Success: \(response.result.isSuccess)")
                print("Response String: \(response.result.value)")
        }
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

6,新增或移除第三方庫

以後如果需要在工程中導入新庫,或者移除原有的庫。還是先編輯 Podfile 文件,再執行 install 命令。

pod install

7,更新第三方庫

如果引用的庫沒有改變,只是想要將這些庫更新到最新版本,則執行 update 命令。

pod update


五、導入Objective-C寫的第三方庫

上面的樣例我們是創建工 Swift 工程,並導入 Swift 語言寫的第三方庫。如果想要在 Swift 工程中引入 OC 寫的第三方庫,操作也是一樣的。而且我們項目中不需要像過去一樣創建橋接頭文件,把Objective-C頭文件引用進來。

這裡以 OC 寫的圖片緩存庫:SDWebImage 為例說明。

platform :ios, ‘8.0’
use_frameworks!
 
target 'hangge_1358’ do
    pod 'Alamofire'
    pod 'SwiftyJSON'
    pod 'SDWebImage'
end

2,執行安裝命令

pod install

3,代碼中直接將SDWebImage庫import就能使用

import UIKit
import SDWebImage
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let imageView = UIImageView()
        imageView.frame=CGRectMake(10,10,130,27.5)
        let url = NSURL(string: "/blog/images/logo.png")
        imageView.sd_setImageWithURL(url)
        self.view.addSubview(imageView)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved