現(xiàn)在,快速開發(fā)APP已經(jīng)成為所有公司的需求,公司會(huì)在業(yè)務(wù)方法投入更多的時(shí)間來豐富APP的內(nèi)容,而功能實(shí)現(xiàn)這個(gè)重?fù)?dān)就壓到了開發(fā)者的肩上。這時(shí)如果我們?nèi)绻總€(gè)細(xì)節(jié)都自己傻楞的實(shí)現(xiàn)那結(jié)果可能只有兩個(gè):加班或者加班也做不完,然后被批。
大家一定聽說過“不要重復(fù)造輪子”這句話,我們可以在程序適當(dāng)?shù)牡胤揭胍恍┬阅軆?yōu)良的第三方庫(輪子)來幫我實(shí)現(xiàn)某些復(fù)雜或者繁瑣的過程。這樣我們就可以專心的“造車”了。
CocoaPods 簡(jiǎn)介
CocoaPods 是一個(gè)為Swift何Objective-C提供依賴項(xiàng)管理的工具,它擁有近2.6萬個(gè)輪子可以為你的程序提供方便,有超過150萬個(gè)程序通過它來管理依賴項(xiàng)。利用CocoaPods可以優(yōu)雅的幫助你擴(kuò)展你的項(xiàng)目。CocoaPods主頁
安裝CocoaPods
首先確保本機(jī)的 gem 工具可以使用,檢測(cè)方法:打開終端輸入
gem -v
如果報(bào)錯(cuò):-bash: gem: command not found這種的,說明ruby的環(huán)境出現(xiàn)問題,給大家推薦一篇文章安裝ruby運(yùn)行環(huán)境-
更換ruby的軟件源(國內(nèi)網(wǎng)絡(luò)問題導(dǎo)致)。方法:在終端輸入:
gem sources -l查看當(dāng)前ruby的源
gem sources --remove https://rubygems.org/移除當(dāng)前ruby的源
gem sources -a https://ruby.taobao.org/設(shè)置ruby的新源
gem sources -l再次查看當(dāng)前ruby的源
下面結(jié)果就證明ruby的軟件源已經(jīng)設(shè)置OK了。*** CURRENT SOURCES *** https://ruby.taobao.org/ 更新gem 方法:在終端輸入:
sudo gem update --system
需要升級(jí)時(shí)在升級(jí)成功后會(huì)提示: Latest version currently installed. Aborting.以上過程成功后,就可以開始安裝CocoaPods了,方法:在終端輸入:
sudo gem install cocoapods
這個(gè)過程有時(shí)會(huì)比較慢,需要等待。
如果出現(xiàn)了錯(cuò)誤(在系統(tǒng)版本大于10.11時(shí)會(huì)出現(xiàn)) [zsh: command not found: pod] ,這時(shí)候我們繼續(xù)執(zhí)行:
sudo gem install -n /usr/local/bin cocoapods初始化CocoaPods
pod setup

當(dāng)出現(xiàn)如上錯(cuò)誤時(shí),執(zhí)行:
pod repo update --verbose
以上的過程成功之后,安裝就結(jié)束了。
使用CocoaPods
-
Podfile 的編寫。使用CocoaPods的第一步,就是為你的程序定制一份量身的腳本,CocoaPods會(huì)根據(jù)你寫的腳本來生成對(duì)應(yīng)的依賴。
下面是個(gè)簡(jiǎn)單的例子:
102.png
第一個(gè)紅框:platform :ios 和第二個(gè)紅框 '6.0' 這行腳本的意思是指定依賴項(xiàng)的平臺(tái)是iOS平臺(tái),最低支持的版本是 iOS 6.0. 當(dāng)然這里可以根據(jù)不同的平臺(tái)和最低支持的版本不同而修改,比如我的程序是 為watchOS 2.0寫的, platform :watchos, '2.0'
第三個(gè)紅框 target 'DoIt' do 這行腳本的意思是:為程序中的 DoIt 這個(gè)target添加依賴項(xiàng),以end結(jié)尾
第四個(gè)紅框 pod 'CocoaLumberjack', '~> 2.4.0' 就是真正的依賴項(xiàng)了, 它寫到這里意思是: 為 'DoIt' 添加 CocoaLumberjack這個(gè)第三方庫,而且版本 在 2.4.0 - 2.5.0之間,且不包含2.5.0。
‘~>’這個(gè)符號(hào)的意思就是不大于這個(gè)小版本的意思。同樣,還有 = , > , >= , < , <= 這5種符合,意思同符號(hào)。
如果想查找一些依賴項(xiàng),并查看它有什么可用版本的時(shí)候,可以利用pod提供的檢索功能:
pod search CocoaLumberjack
103.png
如果為不同的target寫不同的依賴項(xiàng),就要按圖中的方式分開寫。其他更多的Podfile腳本寫法見官方的文檔 Podfile Syntax Reference
為你的程序添加依賴。進(jìn)行如下操作。將第一步生成的Podfile文件放到你的程序目錄下,于 xxxx.xcodeproj 同級(jí),打開控制臺(tái),cd 到 Podfile文件路徑下,然后執(zhí)行
pod install
如果你寫的Podfile腳本文件沒問題的話,這步執(zhí)行成功后會(huì)生成一個(gè) xxxx.xcworkspace 文件,那么恭喜你依賴項(xiàng)已經(jīng)添加成功了。如果未成功的話,腳本中有問題的地方會(huì)在控制臺(tái)打印出來,修改之后,重復(fù)此步驟直到顯示成功為止。更新依賴項(xiàng)。一旦install執(zhí)行成功后,之后對(duì)Podfile文件修改后,直接執(zhí)行:
pod update就行了。打開xxxx.xcworkspace 文件,這里以后就是你開發(fā)的地方了。
CocoaPods需要被某個(gè)Target下的子工程依賴時(shí)
這種情況一般多在Frameworks或者靜態(tài)庫開發(fā)時(shí)。子工程并沒有被添加到依賴。這時(shí)候我們需要做幾個(gè)簡(jiǎn)單的操作。
- 找到主工程(Podfile添加依賴的Target)下的 Pods 目錄,復(fù)制一份你需要Target的 Pods-APP.debug.xcconfig 文件。



這時(shí),你會(huì)發(fā)現(xiàn),引用不到的依賴項(xiàng)已經(jīng)可以使用了。

