為什么要用CocoaPods
- 現(xiàn)在眾所周知隨著swift的出現(xiàn),cocoaPods越來越??
- 為什么呢?
- 因為swift出現(xiàn)了一個叫命名空間的機制,也就是說整個工程在同一個命名空間下,不需要倒入頭文件(也不需要再像OC那樣加上前綴),不管那個類直接寫就可以了,正因為如此出現(xiàn)了新的問題
- 在我們的工程中會倒入一些第三方框架,但是如果出現(xiàn)重名了怎么解決呢?
- 在OC中可以增加前綴來解決
- 現(xiàn)在Swift中
沒有前綴也不需要導(dǎo)入頭文件
,解決方案就是一個swift工程是一個命名空間,在不同的工程下(也就是意味著不同的命名空間下),相同的名稱是不會沖突的,所以就需要用到cocoaPods
Xcode8 10.12 系統(tǒng)需要更換一下路徑看我的文章
Xcode8更新CocoaPods報錯解決辦法
- 最新版 CocoaPods 的安裝流程
注意:在終端輸入命令的時候前面的$ 符去掉
- 1.移除現(xiàn)有Ruby默認源
$gem sources --remove https://rubygems.org/
- 2.使用新的源
$gem sources -a https://ruby.taobao.org/
- 3.驗證新源是否替換成功
$gem sources -l
- 4.安裝CocoaPods
(1) $sudo gem install cocoapods
備注:蘋果系統(tǒng)升級 OS X EI Capitan 后改為
$sudo gem install -n /usr/local/bin cocoapods
(2) $pod setup
軍哥提示:
出現(xiàn)Setting up CocoaPods master repo平匈,說明Cocoapods在將它的信息下載到
~/.cocoapods里,這個目錄最終大小是135.8多M(可能有誤差,我自己測試的是這么大),就是完成了
當出現(xiàn) `Setup completed` 代表設(shè)置成功,這個過程比較漫長,如果翻墻會快些
- 5.更新gem
$sudo gem update --system
- 6.測試cocoaPods是否安裝成功
pod search 'AFNetWorking'
-7 新建Xcode工程塞俱,并在終端用cd指令到文件夾內(nèi)
$pod search `第三方框架`
例如: pod search AFNetworking
8.新建文件 vim “Podfile”挂疆,
$vim Podfile
- 8.1.輸入i
進入編輯模式 - 8.2 拷貝以下內(nèi)容
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'AFNetworking'
- 8.3 :wq保存并退出
小提示:(vim命令按 i 編輯,esc退出編輯,:wq 保存并退出)
- 9.導(dǎo)入第三方庫
$pod install
-
10 看到這個證明你的cocoaPods 配置成功
Updating local specs repositories - 11.退出終端
以下是我在安裝cocoaPods中出現(xiàn)的一些錯誤及解決方案,分享給大家
- 錯誤1:
Error fetching http://ruby.taobao.org/:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
解決方案:把安裝流程中 $gem sources -a http://ruby.taobao.org/ ---改為----> $gem sources -a https://ruby.taobao.org/
- 錯誤2:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解決方案:蘋果系統(tǒng)升級OS X EI Capitan后會出現(xiàn)的插件錯誤,將安裝流程中
(1)sudo gem install cocoa pods 改為
sudo gem install -n /usr/local/bin cocoapods
- 錯誤3:
[!] Unable to satisfy the following requirements: -AFNetworking (~> 3.0.4)
required byPodfile
Specs satisfying theAFNetworking (~> 3.0.4)
dependency were found, but they required a higher minimum deployment target. - 解決方案:安裝流程:Podfile文件 中 AFNetworking~> ‘3.0.4’ 后邊的 3.0.4 是第三方框架版本號,可以加上,也可以不加
- 錯誤4.
[!] CocoaPods was not able to update themaster
repo. If this is an unexpected issue and persists you can inspect it runningpod repo update --verbose
沒有讀寫權(quán)限
嘗試解決: - 嘗試1卜录、根據(jù)提示液样,跑一下 pod repo update --verbose
- 嘗試2祟剔、如果還是出現(xiàn)原來問題挚歧,升級 gem update cocoapods(如果CocoaPods還不是最新版本)
- 嘗試3、如果升級還是出現(xiàn)原來的問題浮驳,那么重裝CocoaPods 悍汛。
首先查看本地裝了關(guān)于cocoapods的哪些東西,在終端輸入
gem list --local grep cocoapods
接著全部卸掉上面的至会,在終端輸入
sudo gem uninstall cocoapods
再安裝,在終端輸入
gem install cocoapods
- 嘗試4离咐、如果問題依舊,那么請清除緩存再pod setup
清除命令
sudo rm -fr ~/.cocoapods/repos/master
初始化
pod setup
結(jié)論:之前的版本沒有權(quán)限,移除再安裝就好了
-
錯誤5.如果出現(xiàn)這種情況
需要在vim “Podfile”中增加
xcodeproj '你文件夾名稱/工程名稱.xcodeproj'
例如
xcodeproj '小碼哥微博/小碼哥微博.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'AFNetworking', '~> 3.0'
再次執(zhí)行更新命令
pod install
之后你會發(fā)現(xiàn)你的工程中已經(jīng)有了Pods了,并且三方框架也倒入進來了
-
錯誤6:
如果導(dǎo)入copds之后出現(xiàn)這樣的問題
第一種解決辦法需要橋接,也就是Swift和OC混編
-
1.新建OC頭文件
-
2.導(dǎo)入第三方庫
-
3.配置路徑
-
4.路徑尋找
第二種解決辦法需要在 Podfile 中增加一句代碼
use_frameworks!
然后再次執(zhí)行更新就可以了
pod update