你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS CocoaPods詳解之制造篇

IOS CocoaPods詳解之制造篇

編輯:IOS開發綜合

學會應用他人的Pods依附庫今後,你必定對創立本身的依附庫伎癢,明天就來揭開Pods依附庫創立進程的奧秘面紗。全部創立進程都以我完成的一個稱號為WZMarqueeView賽馬燈後果的view為例,步調以下:

1、創立本身的github倉庫

CocoaPods都托管在github上(官方鏈接為:https://github.com/CocoaPods),一切的Pods依附庫也都依附github,是以第一步我們須要創立一個屬於本身的github倉庫。倉庫創立界面以下圖:


上圖中標了序號的共6處,對應的解釋以下:

1、Repository name

倉庫稱號,這裡寫成WZMarqueeView,必填的;

2、Description

倉庫的描寫信息,可選的;

3、倉庫的地下性

這裡只能選Public,一個是由於Private是要money的,再一個Private他人看不到還同享個毛;

4、能否創立一個默許的README文件

一個完全地倉庫,都須要README解釋文檔,建議選上。固然不嫌費事的話你也能夠前面再手動創立一個;

5、能否添加.gitignore文件

.gitignore文件外面記載了若干中文件類型,但凡該文件包括的文件類型,git都不會將其歸入到版本治理中。能否選擇看小我須要;

6、license類型

正軌的倉庫都應當有一個license文件,Pods依附庫對這個文件的請求更嚴,是必需要有的。是以最好在這裡讓github創立一個,也能夠本身後續再創立。我應用的license類型是MIT。

下面的各項都填寫終了後,點擊Create repository按鈕便可,創立勝利地界面如圖:


到這,倉庫創立進程就停止了。

2、clone倉庫到當地
為了便於向倉庫中刪減內容,須要先將倉庫clone到當地,操作方法有多種,推舉應用敕令行:

$ git clone https://github.com/wangzz/WZMarqueeView.git

操作完成後,github上對應的文件都邑拷貝到當地,目次構造為:

github上倉庫中的.gitignore文件是以.開首的隱蔽文件,是以這裡只能看到兩個。
後續我們的一切文件增、刪、改都在這個目次下停止。

3、向當地git倉庫中添加創立Pods依附庫所需文件

留意:以下描寫的文件都要放在步調二clone到當地的git倉庫的根目次上面。
1、後綴為.podspec文件
該文件為Pods依附庫的描寫文件,每一個Pods依附庫必需有且唯一那末一個描寫文件。文件稱號要和我們想創立的依附庫稱號堅持分歧,我的WZMarqueeView依附庫對應的文件名為WZMarqueeView.podspec。
1.1 podspec文件內容

WZMarqueeView.podspec的保留內容為:

Pod::Spec.new do |s|
 s.name       = "WZMarqueeView"
 s.version     = "1.0.0"
 s.summary     = "A marquee view used on IOS."
 s.description   = <<-DESC
            It is a marquee view used on IOS, which implement by Objective-C.
            DESC
 s.homepage     = "https://github.com/wangzz/WZMarqueeView"
 # s.screenshots   = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
 s.license     = 'MIT'
 s.author      = { "王中周" => "[email protected]" }
 s.source      = { :git => "https://github.com/wangzz/WZMarqueeView.git", :tag => s.version.to_s }
 # s.social_media_url = 'https://twitter.com/NAME'

 s.platform   = :IOS, '4.3'
 # s.ios.deployment_target = '5.0'
 # s.osx.deployment_target = '10.7'
 s.requires_arc = true

 s.source_files = 'WZMarqueeView/*'
 # s.resources = 'Assets'

 # s.ios.exclude_files = 'Classes/osx'
 # s.osx.exclude_files = 'Classes/ios'
 # s.public_header_files = 'Classes/**/*.h'
 s.frameworks = 'Foundation', 'CoreGraphics', 'UIKit'

end

該文件是Ruby文件,外面的條目都很輕易曉得寄義。
個中須要解釋的又幾個參數:
①s.license
Pods依附庫應用的license類型,年夜家填上本身對應的選擇便可。
②s.source_files
表現源文件的途徑,留意這個途徑是絕對podspec文件而言的。
③s.frameworks
須要用到的frameworks,不須要加.frameworks後綴。

1.2 若何創立podspec文件

年夜家創立本身的podspec文件可以有兩個門路:
①copy我的podspec文件然後修正對應的參數,推舉應用這類方法。
②履行以下創立敕令:

$ pod spec create WZMarqueeView

也會創立名為WZMarqueeView.podspec的文件。然則翻開創立完的文件你就會發明外面的器械太多了,許多都是我們不須要的。

2、LICENSE文件
CocoaPods強迫請求一切的Pods依附庫都必需有license文件,不然驗證不會經由過程。license的類型有許多種,概況可以參考網站tl;dr Legal。在創立github倉庫的時刻,我曾經選擇了MIT類型的license。

3、主類文件
創立Pods依附庫就是為了便利他人應用我們的結果,好比我想同享給年夜家的WZMarqueeView類,是我想供給給寬大用戶應用的,這個類天然是必弗成少的。我把這個類包括的兩個文件放到一個稱號為WZMarqueeView的文件夾中,對應的目次構造如圖:

外面包括兩個文件:WZMarqueeView.h和WZMarqueeView.m

4、demo工程
為了疾速地教會他人應用我們的Pods依附庫,平日須要供給一個demo工程。我創立的demo工程放到了一個名為WZMarqueeViewDemo的文件夾中,該目次包括的文件以下圖所示:

5、README.md
應用github的人應當都熟習這個文件,它是一個勝利github倉庫必弗成少的一部門,應用的是markdown標志說話,用於對倉庫的具體解釋。

以上所說的5個是創立Pods依附庫所需最基本的文件,個中1、2、3是必須的,4、5是可選但激烈推舉創立的。
添加完這些文件今後,我的github當地倉庫目次就釀成了下圖所示的模樣:

4、提交修正文件到github
經由步調三,向當地的git倉庫中添加了很多文件,如今須要將它們提交到github倉庫中去。提交進程分以下幾步:
1、pod驗證
履行以下敕令:

$ set the new version to 1.0.0
$ set the new tag to 1.0.0

這兩條敕令是為pod添加版本號並打上tag。然後履行pod驗證敕令:

$ pod lib lint

假如一切正常,這條敕令履行完後會湧現上面的輸入:

 -> WZMarqueeView (1.0.0)

WZMarqueeView passed validation.

到此,pod驗證就停止了。
須要解釋的是,在履行pod驗證敕令的時刻,打印出了任何warning或許error信息,驗證都邑掉敗!假如驗證湧現異常,打印的信息會很具體,年夜家可以依據對應提醒做出修正。

2、當地git倉庫修正內容上傳到github倉庫
順次履行以下敕令:

$ git add -A && git commit -m "Release 1.0.0."
$ git tag '1.0.0'
$ git push --tags
$ git push origin master

上述敕令均屬git的領域,這裡不多述。假如一切正常,github上就應當能看到本身剛添加的內容了。以下圖所示:

5、上傳podspec文件到CocoaPods官方倉庫中
經由前邊的四步操作,你能夠認為曾經停止了,不幸的是還早著呢。

要想一個Pods依附庫真正可用,還須要做最初一步操作,將我們適才生成的podspec文件上傳到CocoaPods官方的Specs倉庫中,鏈接為:https://github.com/CocoaPods/Specs

翻開這個鏈接你就會發明,本來我們能應用的,和我們應用pod search敕令能搜刮到的一切Pods依附庫都邑把它們的podspec文件上傳到這個倉庫中,也就是說,只要將我們的podspec文件上傳到這個倉庫中今後,能力成為一個真實的Pods依附庫,他人能力正常應用!

依照git的規矩,要想向他人的倉庫中添加文件,必需先fork一份他人的倉庫,做完響應地修正後,在push給倉庫的原作者,比及作者審核經由過程,然後歸並到本來的倉庫中。

流程明確了今後,天然曉得該怎樣干了:
1、fork一份CocoaPods官方的Specs倉庫
進入到適才的官方倉庫鏈接中,點擊屏幕右上角的fork按鈕,以下圖:



然後年夜家會發明本身名下會多一份倉庫的分支。好比我的分支為:

2、將fork的倉庫clone到當地
履行以下敕令:

$ git clone https://github.com/wangzz/Specs.git

留意,年夜家須要將對應的倉庫地址換成本身的。
這個倉庫有點年夜,須要有耐煩啊。

3、將本身的podspec文件添加到當地Specs倉庫中
Specs倉庫clone到當地後,會放到一個名為Specs的文件夾中。podspec文件在Specs倉庫中的保留准繩是:
Pods依附庫同名文件夾--->版本號同名文件夾--->podspec文件
照此准繩,我須要在Specs文件夾下樹立一個名為WZMarqueeView的文件夾,然落後入到WZMarqueeView文件夾下,樹立一個稱號為1.0.0的文件夾,最初進入到1.0.0這個文件夾下,而且將之前創立好的WZMarqueeView.podspec文件拷貝出去。
不難懂得,假如今後有對WZMarqueeView類的進級,就在WZMarqueeView文件夾下樹立對應版本稱號的文件夾,用於保留對應版本的podspec文件便可。
這些操作完成後,目次條理構造以下所示:

4、上傳當地Specs倉庫中的修正到github倉庫
履行以下敕令:

$ git add -A && git commit -m "Add WZMarqueeView podspec file"
$ git push origin master

勝利今後就可以在github上本身fork的Specs倉庫中看到剛上傳的文件了。

5、將在本身fork的Specs上做的修正pull給CocoaPods官方的Specs倉庫
進入到本身fork的Specs倉庫中,會看到屏幕左上角有一個綠色按鈕:


該按鈕點出來今後會有以下圖所示的界面:

點擊圖中的綠色Create Pull Request按鈕,便可將我們fork的Specs上做的修正pull給CocoaPods官方的Specs倉庫。

到這一步後,剩下的任務就只要等了,期待CocoaPods的保護人員審核並將我們pull上去的修正歸並到官方的Specs倉庫中,這個進程平日會有一天閣下的期待時光。假如有任何新聞,好比審核欠亨過,或許審核經由過程了,CocoaPods官方都邑發郵件告訴的。
比及審核經由過程的時刻,我們就可以在官方的Specs倉庫中看到本身上傳的文件夾了。

6、檢查審核進度
固然我們也能檢查審核進度,翻開這個鏈接:https://github.com/CocoaPods/Specs/pulls,這裡能看到一切的Specs倉庫pull要求,以下圖:

紅圈標識的就是我適才pull下去的要求,點出來今後就可以看到對應的審核進度。

6、檢查我們本身創立的Pods依附庫
假如收到了CocoaPods官方發過去的審核經由過程郵件今後,你能夠很焦急的想在本身的電腦上履行pod search敕令,看看能不克不及搜刮到本身創立的Pods依附庫。不外你確定會掉望的,由於還須要履行一條敕令能力在我們的當地電腦上應用search敕令搜刮到我們的依附庫:

$ pod setup

在我的CocoaPods系列教程中的第一篇:CocoaPods詳解之----進階篇中的最初部門引見過這條敕令,它會將一切的Pods依附庫tree跟新到當地。履行完這條敕令,再去履行:

$ pod search WZMarqueeView

就可以顯示出對應的引見信息了!

說了那末多,到這裡全部Pods依附庫創立進程才算真正停止!小同伴們,你勝利了嗎???碰到成績還請留言。

7、參考文檔

1、http://guides.cocoapods.org

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

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