關於CocoaPods安裝和使用

一、cocoapods安裝

// 原淘寶Ruby (不更新了,但是現在還可以用,至於什麼時候不能用,還不知道) 

CocoaPods是用Ruby實現的,Ruby的默認使用源使用的是cocoapods.org,國內訪問這個網址的時候可能會有問題,所以我們可以將使用源替換成淘寶的。

原先默認的使用源會報錯,如果你之前已經配置過的另算。。。。你可以用下面的命令試試!(以下命令全部在終端輸入)

sudo gem install cocoapods
如果出現錯誤則說明你被牆了。。。。。。那麼就用開始下面的操作吧

gem sources --remove https://rubygems.org/

等有反應之後再敲入以下命令 (以前的很多教程全部都是http開頭的協議 但現在最新的RubyGems 鏡像解釋是   我們已經停止基於 HTTP 協議的鏡像服務, 請在配置中使用 HTTPS 協議代替,所以下面用下面的就好

gem sources -a https://ruby.taobao.org/ 

爲了驗證你的Ruby鏡像是並且僅是taobao,可以用以下命令查看:(注...下面的那個  gem sources-l 是L不是1我配置的時候打1都是報錯,花了十幾分鍾才反應過來-_-)

gem sources -l

只有在終端中出現下面文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***

https://ruby.taobao.org/

至此準備工作已經配置成功

//  至此都是淘寶Ruby


//  如果你之前是用的這個  那麼你可以移除重新配置一下,使用最新的

https://gems.ruby-china.org/


新的方案的特點

  • 實時的,不再有同步耗時的問題;

  • 全球 400+ CDN 節點(據騰訊官方所說 ~~)爲 Gem 下載加速;

  • 更加簡單有效的架構,穩定性更高;

  • 背後有兩臺國外服務器,確保穩定性,確保 CDN 匯源能獲取到數據;


移除命令是在終端中使用

// 按照官網的說法,請儘可能用比較新的 RubyGems 版本,建議 2.6.x 以上。

$ sudo gem update --system #這裏請翻牆一下,推薦使用藍燈(lantern)這個翻牆工具完全傻瓜式的,反正我一直在用,效果不錯關鍵是免費=_=
$ gem -v
2.6.3
// 如果你還沒有配置ruby你可以輸入以下命令(添加新的鏡像,刪除老鏡像)

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
// 如果你已經用了淘寶的ruby,使用下面的

gem sources --add https://gems.ruby-china.org/ --remove https://ruby.taobao.org/
// 然後使用
gem sources -l

// 如果出現以下狀態說明已經成功了


常見問題?
  • 如果遇到 SSL 證書問題,你又無法解決,請直接用 http://gems.ruby-china.org 避免 SSL 的問題。
  • 如果你在意 Gem 下載的安全問題,請正確安裝 Ruby、OpenSSL,建議部署 Linux 服務器的時候採用 這個 RVM 安裝腳本 的方式安裝 Ruby。
  • Bundler::GemspecError: Could not read gem at /home/xxx/.rvm/gems/ruby-2.1.8/cache/rugged-0.23.3.gem. It may be corrupted.,這類錯誤是網絡原因下載到了壞掉的文件到本地,請直接刪除那個文件。
// 至此ruby鏡像就搞定了




接下來在終端中輸入下面命令來下載和安裝cocoapods

sudo gem install cocoapods


到這裏雖然cocoapods已經安裝成功,如果你的gem有點老了(看情況而定),可以用以下命令更新一下,時間會根據你的網絡,快慢不定,耐心點吧.操作的命令如下:

pod setup 或者 sudo gem update —system

兩個意思都一樣,不過我用的pod setup

下面就是無限等待。。。


成功後會提示成功,現在已經一切安裝成功了!




其他命令: pod —version    查看cocoa pods的版本(中間2個-)

                     cd ~/.cocoapods    找到cocoapods的根目錄

                     du -sh * 查看目錄大小

                     pod install      根據Podfile文件安裝其中對應的庫

                     pod search AFNetworking   查找afnetworking

二、cocoapods如何使用

場景1:新建的項目,在新的項目中導入AFNetworking類庫

(1)、首先需要創建一個Podfile文件,然後在裏面添加你需要下載的類庫,就是通過此文件告訴cocoapods需要導入哪個類庫。創建Podfile的命令如下:

a  新建一個項目,名字CocoaPodsDemo

b  終端中,cd到項目總目錄(注意:包含PodTest文件夾、PodTest.xcodeprojPodTestTest的那個總目錄 你可以直接把你的項目放在終端裏 目錄就出來了,前面加個cd就好,對了 cd和目錄之間注意空格

 cd /Users/macbookpro/Desktop/CocoaPodsDemo  

c  建立Podfile(配置文件名,名字別錯了

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

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

platform :ios, '7.0'

pod 'AFNetworking', '~> 3.0.0-beta.1'

然後按Esc,並且輸入號進入vim命令模式,然後在冒號後邊輸入wq

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

如果你不清楚自己需要需要的庫是什麼版本的 可以先按Esc     :wq退出去,然後pod search 你需要的庫的名字  稍等以下 你需要的庫的版本就全出來了,然後你選擇之後把版本拷貝上去就好了.

至此,Podfile文件已經創建成功!

下面,確定終端cd到項目的總目錄,然後在終端中輸入

 pod install

等待一會。會提示成功,並要求你打開CocoaPodsDemo.xcworkspace

注意:現在打開項目不是點擊CocoaPodsDemo.xcodeproj,而是點擊CocoaPodsDemo.xcworkspace。


當需要同時導入多個第三方庫的時候,

第一步可以在終端中輸入 pod search +第三方庫名字 ,找到這個第三方庫,裏面會有         pod 'MBProgressHUD', '~> 0.9.1’類似的,複製;

第二步在終端裏面 cd到項目總目錄,然後輸入 pod install等待。。。

//當執行pod installpod update兩個命令的時候會升級CocoaPodsspec倉庫,加一個參數可以省略這一步,然後速度就會提升不少。加參數的命令如下:

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

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

//特殊情況:當安裝MobShareSDK時,需要根據我們需要的分享平臺和分享視圖UI引入指定的分享模塊

  例如:應用只需要微信分享,並且需要使用IOS豎版默認分享視圖,則需要添加如下代碼於Podfile中進行安裝即可

pod 'MobShareSDK' (必須選的)

pod 'MobShareSDK/UI/Flat'  (可選)

pod 'MobShareSDK/Connection/WeChat'  (可選)

問題:1、使用cocoapods導入第三方庫後,頭文件不聯想?

  • 選擇Target -> Build Settings菜單,找到\”User Header Search Paths\”設置項
  • 新增一個值"${SRCROOT}",並且選擇\”Recursive\”

            2、CocoaPods出現 OTHER_LDFLAGS錯誤[!] The target `項目名 [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.

    - Use the `$(inherited)` flag, or

    - Remove the build settings from the target.

  •       Finder中找到項目名.xcodeproj,右鍵選擇顯示包內容

  •    用文本編輯器打開 project.pbxproj,搜索OTHER_LDFLAGS

        則會看到2處類似格式的語句     OTHER_LDFLAGS = ""; 將其刪除後運行pod install

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章