1. 程式人生 > >iOS開發~CocoaPods使用詳細說明 cocoapods pod install 安裝報錯 is not used in any concrete target

iOS開發~CocoaPods使用詳細說明 cocoapods pod install 安裝報錯 is not used in any concrete target

iOS開發~CocoaPods使用詳細說明

25320人閱讀 評論(12) 收藏 舉報 分類:

一、概要

iOS開發時,專案中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用來方便的統一管理這些第三方庫。


二、安裝

由於網上的教程基本都大同小異,但細節之處還不是很完善,所以藉機會在這裡補充下:

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


1、Ruby環境搭建

當前安裝環境為Mac mini 10.8.5。Mac  OS本身自帶Ruby,但還是更新一下保險,因為我第一次安裝在沒有更新Ruby的情況下就失敗了。

a 檢視下當前ruby版本:開啟終端輸入 ruby -v(確實安裝了,不過用這個版本接下來工作失敗了,所以更新下ruby)

[objc]  view plain copy print ? 在CODE上檢視程式碼片 派生到我的程式碼片
  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,避免被牆,你懂得

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

[objc]  view plain copy print ? 在CODE上檢視程式碼片 派生到我的程式碼片
  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 ***  


2、下載安裝 CocoaPods

終端輸入:sudo gem install cocoapods 


[html]  view plain copy print ? 在CODE上檢視程式碼片 派生到我的程式碼片
  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


3、使用CocoaPods

a  新建一個專案,名字PodTest



b  終端中,cd到專案總目錄(注意:包含PodTest資料夾、PodTest.xcodeproj、PodTestTest的那個總目錄)

[objc]  view plain copy print ? 在CODE上檢視程式碼片 派生到我的程式碼片
  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


開啟專案後看到專案結構並且測試一下:



執行結果:



補充:

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

這就需要修改Podfile了,就是用vim編輯的那個儲存在專案根目錄中的檔案,修改完了Podfile檔案,需要重新執行一次pod install命令。

例如:

platform :ios

pod 'JSONKit',       '~> 1.4'

pod 'AFNetworking',  '~> 2.0'


2、 CocoaPods可以查詢你想要的第三方庫

終端輸入命令:pod search UI

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


然後重新編輯Podfile檔案,按照之前的步驟,把更多的庫都匯入專案!


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



現在,你的所有第三方庫都已經下載完成並且設定好了編譯引數和依賴,你只需要記住如下 2 點即可:

  1. 使用 CocoaPods 生成的 .xcworkspace 檔案來開啟工程,而不是以前的 .xcodeproj 檔案。
  2. 每次更改了 Podfile 檔案,你需要重新執行一次pod update命令。

關於 Podfile.lock

當你執行pod install之後,除了 Podfile 外,CocoaPods 還會生成一個名為Podfile.lock的檔案,Podfile.lock 應該加入到版本控制裡面,不應該把這個檔案加入到.gitignore中。因為Podfile.lock會鎖定當前各依賴庫的版本,之後如果多次執行pod install 不會更改版本,要pod update才會改Podfile.lock了。這樣多人協作的時候,可以防止第三方庫升級時造成大家各自的第三方庫版本不一致。

CocoaPods 的這篇 官方文件 也在What is a Podfile.lock一節中介紹了Podfile.lock的作用,並且指出:

// 唐巧  關於pod 的技術部落格

http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/  





cocoapods pod install 安裝報錯 is not used in any concrete target

標籤: cocoa podspod install安裝報錯is not used in any c 1660人閱讀 評論(1) 收藏 舉報

低版本的cocoa pods在編寫Podfile檔案時這樣寫就可以了

platform :ios, '8.0'
pod 'AFNetworking'

高版本的cocoa pods在編寫Podfile檔案必須這樣寫

platform :ios, '8.0'
target "targetName" do
pod 'AFNetworking'
end


如果cocoapods安裝沒有安裝成功:

嘗試:刪除.cocoapods目錄,在終端輸入以下命令:

cd ~/.cocoapods/

sudo -rm -rf ~/.cocoapods/

然後,重新下載安裝,在終端輸入以下命令:

pod setup






-bash:pod:command not found 怎麼解決


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

之後pod命令可以使用了。
2、如果pod update / pod install 卡在:

Updating local specs repositories

3、等待即可,或者可以使用 “pod install --verbose --no-repo-update” 進行下載,原因可能x被牆。

pod install --verbose --no-repo-update




低版本的cocoa pods在編寫Podfile檔案時這樣寫就可以了

platform :ios, '8.0'
pod 'AFNetworking'

高版本的cocoa pods在編寫Podfile檔案必須這樣寫

platform :ios, '8.0'
target "targetName" do
pod 'AFNetworking'
end