CocoaPods 是什么?
CocoaPods是Swift和Objective-C可可項(xiàng)目的依賴管理員逻恐。它有超過37000個(gè)圖書館攒至,并在超過260萬的應(yīng)用程序中使用。CocoaPods可以幫助您優(yōu)化您的項(xiàng)目罪帖。
CocoaPods 的使用(不是安裝)
1促煮、檢測(cè)你的MAC上是否安裝 Pods邮屁。
打開你電腦上的終端,在終端里輸入 :
pod --version
操作如圖下圖所示:
如果你的MAC上已安裝 Pods,結(jié)果就會(huì)輸出Pods的版本號(hào)污茵。
2樱报、CocoaPods 的更新版本。
如果經(jīng)過第一步后泞当,您發(fā)現(xiàn)您電腦上的Pods的版本過低迹蛤。您可以使用下面命令進(jìn)行更新,命令如下:
sudo gem update cocoaposd
操作如下圖:
如圖所示襟士,在執(zhí)行命令的過程中盗飒,終端會(huì)讓你輸入一個(gè)密碼(這是命令 'sudo' 是以管理員的命令運(yùn)行的,所以要開機(jī)密碼)陋桂。如果你的是最新版本的Pods逆趣,就會(huì)提示 Nothing To Update。否則嗜历,它會(huì)更新Pods宣渗。
3、我們創(chuàng)建一個(gè)我們要使用Pods添加第三方庫的Swift項(xiàng)目(Project)梨州。
我們創(chuàng)建的項(xiàng)目叫 MyAlamofire痕囱。創(chuàng)建完工程后就退出Xocde。創(chuàng)建的項(xiàng)目如下圖所示:
4暴匠、進(jìn)入我們創(chuàng)建的工程的一級(jí)目錄鞍恢。
我們通過終端指令進(jìn)入我們創(chuàng)建的MyAlamofire的一級(jí)目錄。操作指令流程是:
5每窖、創(chuàng)建 pods 的 Podfile文件
我們?cè)谖覀冺?xiàng)目(MyAlamofire)的一級(jí)目錄創(chuàng)建 Podfile文件帮掉,操作流程如下:
命令執(zhí)行后的文件 Podfile文件如下圖:
6、我們查看我們的要導(dǎo)入的第三方庫是否支持Pods和第三方庫的版本窒典。
我們?cè)趯?dǎo)入前蟆炊,首先要檢查Pods是否支持我們的要導(dǎo)入的第三方庫。如果支持就獲取目前的最新版本的導(dǎo)入指令崇败。我們本簡(jiǎn)書以Alamofire第三方庫的導(dǎo)入為操作如下:
如上圖指令執(zhí)行到最后盅称,我用藍(lán)色標(biāo)記的一行指令,就是我們后面導(dǎo)入Alamofire的指令后室。該指令如下:
pod 'Alamofire', '~> 4.0.1'
然后我們使用指令:'q' 退出當(dāng)前的收索缩膝。
7、我們打開我們創(chuàng)建的 Podfile文件岸霹,并介紹文件里面的內(nèi)容疾层。
我們打開我們創(chuàng)建的Podfile文件,使用的指令是:
vim Podfile
打開操作如下:
通過上面的指令贡避,我們可以看到 Podfile 文件的內(nèi)容:
我們對(duì)上面的圖片上的內(nèi)容進(jìn)行說明:
- 1痛黎、 注釋符號(hào) "#"
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
# 號(hào)是注釋符予弧,就向我們的ios里面的 //。
# 號(hào)后面的內(nèi)容是注釋說明湖饱。
2掖蛤、platform :ios, '9.0' 該行代碼的作用是
這個(gè)代碼的作用是告訴CocoaPods你的項(xiàng)目是使用 ios 9.0 .3、use_frameworks! 該行代碼作用是:
因?yàn)樵赟wfit中不能使用靜態(tài)庫井厌,我們要使用框架(FormWork)來替代靜態(tài)庫(.a)蚓庭。所以:想要在Swift中使用CocoaPods,你必須明確的寫出use_frameworks! 來選擇使用框架仅仆。如果你忘了寫這個(gè)器赞,CocoaPods能檢測(cè)到你使用使用Swift CocoaPods,你安裝pods的時(shí)候就會(huì)報(bào)錯(cuò)墓拜。- target 'MyAlamofire' do 和 end之間就是填寫我們要導(dǎo)入的第三方庫的代碼位置港柜。其中:target 'MyAlamofireTests' do&end 和 target 'MyAlamofireUITests' do&end 就可以刪除掉。
8咳榜、我們編輯我們創(chuàng)建的Podfile 文件夏醉。
我們開始編輯我們的Podfile文件,操作如下:
我們編輯后的最后結(jié)果是:
9涌韩、我們開始向工程里面導(dǎo)入Pods和第三方庫
我們使用命令:
pod install
操作流程如下圖所示:
分析上面的結(jié)果
- 一個(gè)溫馨的提示授舟,如下圖;
意思是:請(qǐng)關(guān)閉你當(dāng)前的工程,和以后在打開項(xiàng)目時(shí)使用MyAlamofire.xcworkspace工作空間打開管理工程贸辈。
MyAlamofire.xcworkspace 文件所在的位置入下圖:
10 、我們打開我們創(chuàng)建的MyAlamofire的工程肠槽。
打開工程后的項(xiàng)目結(jié)構(gòu)如下圖所示:
通過上圖擎淤,我們也能有看到我們編輯的 Podfile文件的內(nèi)容。
11 秸仙、我們?cè)诠こ讨惺褂梦覀儗?dǎo)入的Alamofire.
我們?cè)陧?xiàng)目的 ViewController.swift 里面導(dǎo)入Alamofire的頭文件嘴拢。代碼如下:
import Alamofire
導(dǎo)入頭文件后就會(huì)報(bào)錯(cuò)如下圖:
報(bào)錯(cuò)的內(nèi)容是:Cannot load underlying module for 'Alamofire' 。還有另一種報(bào)錯(cuò)方式是:File 'ViewController.swift' is part of module 'Alamofire'; ignoring import 的錯(cuò)誤寂纪。他們的解決方法是:
在 項(xiàng)目的 【Build phases】下的 【Link Binary With Librarises】 的左下方有一個(gè)加號(hào)【+】席吴。點(diǎn)擊加號(hào),選擇 【Workspace】 下的一個(gè)【Alamofire.framework】的一個(gè)庫捞蛋。修復(fù)的流程如下:
在編輯項(xiàng)目就不會(huì)出錯(cuò)了孝冒。
11、我們?cè)陧?xiàng)目中簡(jiǎn)短對(duì)Alamofire的使用
我們?cè)陧?xiàng)目的ViewController.swift中對(duì)我們導(dǎo)入的Alamofire進(jìn)行使用:
使用后我們發(fā)現(xiàn)還有錯(cuò)誤出現(xiàn)拟杉,但是不影響我們的編譯庄涡。但是就是請(qǐng)求不成功。改錯(cuò)是No such module 'Alamofire' 的紅色標(biāo)志搬设。這個(gè)錯(cuò)誤的出現(xiàn)是因?yàn)?strong>Alamofire的版本還沒有完善穴店。解決的方法是將Alamofire的版本降低為 4.0.0撕捍。解決的流程如下:
我們?cè)俅未蜷_我們的工程查看我們是否更新成功:
從上圖看我們更新成功。然后我們?cè)俅芜\(yùn)行項(xiàng)目泣洞,發(fā)現(xiàn)錯(cuò)誤沒有了忧风,請(qǐng)求也成功了,如下圖所示: