更新系統OS X EI Capitan 10.11 CocoaPods 不正常的情況
- 更新了最新的系統OS X 10.11后,默認會將CocoaPods刪掉,這里需要重新安裝,按照后面的
安裝CocoaPods
進行安裝 - 但是安裝成功之后,可能會發現,安裝第三方類庫仍然有問題,如下圖
問題
-
解決方案
- 首先查看你的ruby的目錄以及cocoapods的目錄
- 在終端terminal中輸入以下兩句
- which ruby
-
which pod
終端中操作
- 這就是問題所在,Cocoapods默認(原來的)目錄是跟ruby一樣(都是 /usr/bin),但是在OS X EI 系統上,CocoapPods會安裝在
/usr/local/bin/pod
(或者其他位置),所以最快捷的解決方式是利用CocoaPods的Xcode插件,綁定
GEM_PATH到CocoaPods的目錄,如下圖-
/usr/local/bin
修改GEM_Path
-
- 首先查看你的ruby的目錄以及cocoapods的目錄
這樣修改之后,就可以跟原來一樣完美運行CocoaPods了
P.S. 如果在你的Xcode中找不到Product->CocoaPods,需要安裝一個插件?CocoaPods,安裝之后就會看到了
CocoaPods 簡介
-
CocoaPods 是什么?
- CocoaPods 是開發 OS X 和 iOS 應用程序的一個第三方庫的依賴管理工具。利用 CocoaPods,可以定義自己的依賴關系 (稱作 pods),并且隨著時間的變化,以 及在整個開發環境中對第三方庫的版本管理非常方便
-
CocoaPods 背后的理念主要體現在兩個方面
- 在工程中引入第三方代碼 會涉及到許多內容。針對 Objective-C 初級開發者來說,工程文件的配置會讓 人很沮喪
在配置buildphases和linker flags過程中,會引起許多人為因素的 錯誤
CocoaPods 簡化了這一切,它能夠自動配置編譯選項
- 在工程中引入第三方代碼 會涉及到許多內容。針對 Objective-C 初級開發者來說,工程文件的配置會讓 人很沮喪
-
CocoaPods的原理
- 它是將所有的依賴庫都放到另一個名為Pods項目中,然后 讓主項目依賴Pods項目,這樣,源碼管理工作都從主項目移到了Pods項目中
- 1、Pods項目最終會編譯成一個名為libPods.a的文件,主項目只需要依賴這個.a 文件即可。
- 2、對于資源文件,CocoaPods提供了一個名為Pods-resources.sh的bash腳本, 該腳本在每次項目編譯的時候都會執行,將第三方庫的各種資源文件復制到目 標目錄中。
- 3、CocoaPods通過一個名為Pods.xcconfig的文件來在編譯時設置所有的依賴和 參數。
安裝CocoaPods
-
更新gem
- sudo gem update --system
-
更新ruby的軟件源
- 注意淘寶的ruby地址已更新為
- gem sources --remove https://rubygems.org/
- gem sources -a https://ruby.taobao.org/
- gem sources -l
-
安裝CocoaPods
- sudo gem install cocoapods(mac ox 低于10.11使用)
- 但如果你的mac ox 系統是 10.11的話,使用這下面這句話
- sudo gem install -n /usr/local/bin cocoapods
-
替換CocoaPods的鏡像索引
- pod repo remove master
- pod repo add master https://git.oschina.net/akuandev/Specs.git
- pod repo update
-
設置 pod 倉庫
- pod setup
-
測試
- pod --version
-
卸載CocoaPods
- sudo gem uninstall cocoapods
CocoaPods的使用
- CocoaPods使用:
- 使用時需要新建一個名為Podfile的文件
- 將依賴的庫名字依次列在文件中
platform :ios
pod'AFNetworking'
- 注釋事項
- 1.利用CocoPods管理類庫后, 以后打開項目就用xxxx.xcworkspace 打開,而不是 之前的.xcodeproj文件
- 2.每次更改了Podfile文件,你需要重新執行一次pod update命令。
- 3.CocoaPods在執行pod install和pod update時,會默認先更新一次CocoPods的 spec倉庫索引。使用--no-repo-update參數可以禁止其做索引更新操作
pod install --no-repo-update
pod update --no-repo-update
CocoaPods 的更新
- 完全卸載cocoapods
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-deintegrate
sudo gem uninstall cocoapods-downloader
sudo gem uninstall cocoapods-plugins
sudo gem uninstall cocoapods-search
sudo gem uninstall cocoapods-stats
sudo gem uninstall cocoapods-trunk
sudo gem uninstall cocoapods-try
- 安裝cocoapods
安裝穩定版
sudo gem install
安裝最新版
sudo gem install cocoapods --pre
- 建立倉庫
pod setup
該方法會從 CocoaPods 下載文件到 ~/.cocoapods/repos 路徑下的master文件夾內
直接pod setup容易失敗,所以可以先利用git,在通過setup方法建立倉庫
git clone https://github.com/CocoaPods/CocoaPods ~/.cocoapods/repos/master
pod setup
如果通過git也不行的話,需要換國內的CocoaPods鏡像下載
git clone https://git.coding.net/hging/Specs.git ~/.cocoapods/repos/master
pod setup