你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS CocoaPods具體應用辦法

IOS CocoaPods具體應用辦法

編輯:IOS開發綜合

1、甚麼是CocoaPods

1、為何須要CocoaPods
在停止IOS開辟的時刻,總免不了應用第三方的開源庫,好比SBJson、A.networking、Reachability等等。應用這些庫的時刻平日須要:

下載開源庫的源代碼並引入工程
向工程中添加開源庫應用到的framework
處理開源庫和開源庫和開源庫和工程之間的依附關系、檢討反復添加的framework等成績
假如開源庫有更新的時刻,還須要將工程中應用的開源庫刪除,從新履行後面的三個步調,馬上頭都年夜了。。。
自從有了CocoaPods今後,這些復雜的任務就不再須要我們親力親為了,只須要我們做好大批的設置裝備擺設任務,CocoaPods會為我們做好一切!

2、甚麼是CocoaPods
CocoaPods是一個用來贊助我們治理第三方依附庫的對象。它可以處理庫與庫之間的依附關系,下載庫的源代碼,同時經由過程創立一個Xcode的workspace來將這些第三方庫和我們的工程銜接起來,供我們開辟應用。

應用CocoaPods的目標是讓我們能主動化的、集中的、直不雅的治理第三方開源庫。

2、裝置CocoaPods

1、裝置
CocoaPods是用Ruby完成的,要想應用它起首須要有Ruby的情況。榮幸的是OS X體系默許的曾經可以運轉Ruby了,是以我們只須要履行以下敕令:

$ sudo gem install cocoapods 

CocoaPods是以Ruby gem包的情勢被裝置的。在裝置履行的進程中,能夠會問我們是否是更新rake,輸出y便可。這是由於rake gem包會在裝置的進程中檢討更細,假如有可用的新版本就會湧現適才的選項。
在裝置過程停止的時刻,履行敕令:

$ pod setup

假如沒有報錯,就解釋一切裝置就勝利了!
2、裝置進程中能夠碰到的成績
①履行完install敕令半天沒反響
這有能夠是由於Ruby的默許源應用的是cocoapods.org,國際拜訪這個網址有時刻會有成績,網上的一種處理計劃是將遠調換成淘寶的,調換方法以下:

$ gem sources --remove https://rubygems.org/ 
//等有反響以後再敲入以下敕令 
$ gem sources -a http://ruby.taobao.org/ 

要想驗證能否調換勝利了,可以履行:

$ gem sources -l 

正常的輸入是:

*** CURRENT SOURCES *** 
 
http://ruby.taobao.org/ 

②gem版本過老
gem是治理Ruby庫和法式的尺度包,假如它的版本太低也能夠招致裝置掉敗,處理計劃天然是進級gem,履行下述敕令便可:

$ sudo gem update --system 

③裝置完成後,履行pod setup敕令時報錯:

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'

這就是途徑設置的成績,可以經由過程履行:

$ rvm use ruby-1.9.3-p448 

處理該成績。
3、進級CocoaPods
進級很簡略,再次履行裝置敕令便可:

$ sudo gem install cocoapods 

須要留意的是,假如裝置的時刻應用了sudo,進級的時刻一樣須要應用該症結字,否則進級完了今後又會湧現途徑不婚配成績。


3、應用CocoaPods
假如之前做的一切順遂,接上去便可以體驗體驗CocoaPods的奇異的地方了,須要經由以下幾步:

為了演示這個進程,我創立了一個名為CocoaPodsTest的工程。

1、創立Podfile
CocoaPods的一切都是從一個名為Podfile的文件開端的,我們須要先創立這個文件。小我習氣應用敕令行,我會如許做:

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ touch Podfile

起首進入到工程的根目次下,創立空白的Podfile文件,創立終了的目次構造以下圖:

(PS:Podfile文件也能夠不放在工程的根目次下,只是會略微費事點,鄙人一篇文章中會有引見,敬請存眷。)

2、編纂Podfile
依據須要,我們可以在Podfile文件中寫入須要用到的第三方庫,以SBJson、A.networking、Reachability三個庫為例,我的Podfile內容以下:

platform :IOS
pod 'Reachability', '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'

platform :IOS, '7.0'
pod 'AFNetworking', '~> 2.0'

3、履行導入敕令
預備任務都完成後,開端導入第三方庫:

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ pod install

起首進入工程根目次,然後履行pod install敕令,CocoaPods就開端為我們做下載源碼、設置裝備擺設依附關系、引入須要的framework等一些列任務,敕令的履行成果打印出來以下:

Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.1.0)
Installing JSONKit (1.5pre)
Installing Reachability (3.0.0)
Generating Pods project
Integrating client project

[!] From now on use `CocoaPodsTest.xcworkspace`.

這就解釋pod install敕令履行勝利了。再來看看工程根目次產生的變更,以下圖:

可以看到,工程的根目次下多了三個器械:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目次。

(PS:篇幅無限,Podfile.lock文件會放到系列文章的下一篇引見,敬請存眷。)

再看看適才履行完pod install敕令打印出來的內容的最初一行:

[!] From now on use `CocoaPodsTest.xcworkspace`.

提醒我們從如今起,我們須要應用CocoaPodsTest.xcworkspace文件來開辟。
關於工程產生的變更,有幾點須要解釋:

第三方庫會被編譯成靜態庫供我們正真的工程應用


CocoaPods會將一切的第三方庫以target的方法構成一個名為Pods的工程,該工程就放在適才重生成的Pods目次下。全部第三方庫工程會生成一個稱號為libPods.a的靜態庫供給給我們本身的CocoaPodsTest工程應用。

我們的工程和第三方庫地點的工程會由一個重生成的workspace治理
為了便利我們直不雅的治理工程和第三方庫,CocoaPodsTest工程和Pods工程會被以workspace的情勢組織和治理,也就是我們適才看到的CocoaPodsTest.xcworkspace文件。

本來的工程設置曾經被更改了,這時候候我們直接翻開本來的工程文件去編譯就會報錯,只能應用重生成的workspace來停止項目治理。

翻開CocoaPodsTest.xcworkspace,界面以下:

工程的目次構造照樣異常顯著的。

在項目中援用適才添加的第三方庫的頭文件,履行編譯操作,武斷勝利!
至此,CocoaPods應用篇告一段落,接上去盤算再用一個篇幅引見CocoaPods略微深條理的器械,敬請存眷。

4、參考材料

1、http://code4app.com/article/cocoapods-install-usage
2、http://cocoapods.org/

【IOS CocoaPods具體應用辦法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved