iOS開發~CocoaPods使用詳細說明

 

1、概要javascript

iOS開發時,項目中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)能夠用來方便的統一管理這些第三方庫。html

 

2、安裝java

因爲網上的教程基本都大同小異,但細節之處還不是很完善,因此藉機會在這裏補充下:ios

注:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods須要Ruby環境git

 

一、Ruby環境搭建github

當前安裝環境爲Mac mini 10.8.5。Mac  OS自己自帶Ruby,但仍是更新一下保險,由於我第一次安裝在沒有更新Ruby的狀況下就失敗了。vim

a 查看下當前ruby版本:打開終端輸入 ruby -v(確實安裝了,不過用這個版本接下來工做失敗了,因此更新下ruby)xcode

 

  1. ritekiMac-mini:PodTest lucky$ ruby -v  
  2. ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]  
  3. ritekiMac-mini:PodTest lucky$   

b 更新ruby

 

終端輸入以下命令(把Ruby鏡像指向taobao,避免被牆,你懂得)ruby

gem sources --remove https://rubygems.org/ 
gem sources -a https://ruby.taobao.org/ 
gem sources -l  (用來檢查使用替換鏡像位置成功)bash

 

  1. ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/  
  2. https://rubygems.org/ removed from sources  
  3. ritekiMac-mini:~ lucky$ gem sources -a https://ruby.taobao.org/  
  4. https://ruby.taobao.org/ added to sources  
  5. ritekiMac-mini:~ lucky$ gem sources -l  
  6. *** CURRENT SOURCES ***  

 

 

二、下載安裝CocoaPods

終端輸入:sudo gem install cocoapods 

 

  1. ritekiMac-mini:~ lucky$ sudo gem install cocoapods  
  2.   
  3. CHANGELOG:  
  4.   
  5. ## 0.32.1  
  6.   
  7. ##### Bug Fixes  
  8.   
  9. * Fixed the Podfile `default_subspec` attribute in nested subspecs.    
  10.   [Fabio Pelosin][irrationalfab]  
  11.  \ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)  
  12.   
  13.   
  14. Successfully installed cocoapods-0.32.1  
  15. Installing ri documentation for cocoapods-0.32.1  
  16. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block  
  17. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block  
  18. Done installing documentation for cocoapods after 10 seconds  
  19. 1 gem installed  

 

這樣就下載安裝好了CocoaPods

 

 

三、使用CocoaPods

a  新建一個項目,名字PodTest

 

b  終端中,cd到項目總目錄(注意:包含PodTest文件夾、PodTest.xcodeproj、PodTestTest的那個總目錄)

 

 
  1. cd /Users/lucky/Desktop/PodTest   

c  創建Podfile(配置文件)

 

接着上一步,終端輸入 vim Podfile

 

鍵盤輸入 i,進入編輯模式,輸入

platform :ios, '7.0' 
pod 'MBProgressHUD', '~> 0.8'

 

而後按Esc,而且輸入「 :」號進入vim命令模式,而後在冒號後邊輸入wq

 

注意:鍵盤輸入 :後,才能輸入wq。回車後發現PodTest項目總目錄中多一個Podfile文件

 

激動人心的時刻到了:肯定終端cd到項目總目錄,而後輸入 pod install,等待一會,大約3分鐘。

 

 

查看項目根目錄:

 

注意:如今打開項目不是點擊 PodTest.xodeproj了,而是點擊 PodTest.xcworkspace

 

打開項目後看到項目結構而且測試一下:

 

運行結果:

 

補充:

一、CocoaPods的基本安裝及使用都詳細的說明了,但還有一些補充,當須要同時導入多個第三方時候怎麼辦 ?

這就須要修改Podfile了,就是用vim編輯的那個保存在項目根目錄中的文件,修改完了Podfile文件,須要從新執行一次pod install命令。

例如:

 

platform :ios

pod 'JSONKit',       '~> 1.4'

pod 'AFNetworking',  '~> 2.0'

 

二、CocoaPods能夠查找你想要的第三方庫

終端輸入命令:pod search UI

瘋了了,我怎麼查找這麼大衆的關鍵字,好多庫~~

而後從新編輯Podfile文件,按照以前的步驟,把更多的庫都導入項目!

 

本博客盜竊自阿福的博客,地址:http://blog.csdn.net/lizhongfu2013/article/details/26384029

 

============================我是分割線==================================

 CocoaPods更新了一下,而後:出現下面的警告

ex:

The dependency `` is not used in any concrete target The dependency `AFNetworking ` is not used in any concrete target

CocoaPods更新了一下,而後:

sudo gem install cocoapods --pre

安裝cocoapods的預覽版本,就會更新下來新的1.0.0.beta.2版本,以下所示:

Successfully installed cocoapods-1.0.0.beta.2 Parsing documentation for cocoapods-1.0.0.beta.2

很高興啊,更新了新的版本,然而pod install就出錯了,悲了個劇!出錯以下:

Updating local specs repositories
Analyzing dependencies
[!] The dependency `FMDB (~> 2.3)` is not used in any concrete target. The dependency `SDWebImage (~> 3.6)` is not used in any concrete target. The dependency `AFNetworking (~> 2.3.0)` is not used in any concrete target. The dependency `DACircularProgress (~> 2.2.0)` is not used in any concrete target. The dependency `MBProgressHUD (~> 0.8)` is not used in any concrete target. The dependency `PSTCollectionView (~> 1.2.1)` is not used in any concrete target. The dependency `HPGrowingTextView (~> 1.1)` is not used in any concrete target. The dependency `ProtocolBuffers (= 1.9.3)` is not used in any concrete target. The dependency `leveldb-library (~> 1.18.1)` is not used in any concrete target. The dependency `SCLAlertView-Objective-C (~> 0.7.5)` is not used in any concrete target. The dependency `MWPhotoBrowser (~> 1.4.1)` is not used in any concrete target. The dependency `MMMarkdown (~> 0.5)` is not used in any concrete target. The dependency `MJExtension (~> 2.5.16)` is not used in any concrete target. The dependency `MJRefresh (~> 2.4.12)` is not used in any concrete target. The dependency `Masonry (~> 0.6.3)` is not used in any concrete target.

我用的三方庫比較多,挺長的,出這個錯是告訴咱們咱們所用的庫沒有指定target,它不知道用在哪裏,因此就給報錯了,而後我去了cocoapods的官網看了下,cocoapods官網地址


官網是這樣給推薦的: 
在建立Podfile的時候,用這種格式使用,

platform :ios, '8.0' use_frameworks! target 'MyApp' do pod 'AFNetworking', '~> 2.6' pod 'ORStackView', '~> 3.0' pod 'SwiftyJSON', '~> 2.3' end

裏面的 MyApp 記得替換爲本身攻城裏面的target。這樣就基本OK了,執行pod install / pod update 就均可以了。

相關文章
相關標籤/搜索