iOS CocoaPods之Pods製作

來源:互聯網
上載者:User

iOS CocoaPods之Pods製作
闡述隨著iOS的不斷髮展,越來越多的開發人員開始使用CocoaPods來管理他們的第三方。使用Pods時,我在考慮Pods能不能給自己更大的協助,改變現在的開發風格。 製作下方將介紹Pods製作步驟(文中多處操作使用Git命令,使用者可使用SourceTree來操作)一、在Github中建立一個倉庫(Repository)相信大家都有Github帳號,此處忽略關於Github帳號申請細節。上方各部分含義:1、Repository name代碼倉庫名稱,也可以說是Pod的名字 2、Description代碼倉庫的描述資訊 3、倉庫的公開性隨個人能力選擇,Public免費,Private收費 4、是否建立一個預設的README檔案完整的代碼倉庫,都需要README 5、是否添加.gitignore檔案.gitignore檔案裡面記錄了若干檔案類型,凡是該檔案包含的檔案類型,git都不會將其納入到版本管理中,是否選擇看個人需要。 6、license類型正規的倉庫都應該有一個license檔案,Pods依賴庫對這個檔案的要求更嚴,是必須要有的。因此最好在這裡讓github建立一個,也可以自己後續再建立。我使用的license類型是MIT 二、Clone 這個倉庫到本地目錄(可使用SourceTree等其它svn工具)Terminal 命令$ git clone 倉庫地址  三、本地建立 .podspec 檔案 (spec 規範)1、簡述 .podspec 檔案該檔案為Pods依賴庫的描述檔案,每個Pods依賴庫必須有且僅有一個描述檔案,名稱需與建立的依賴庫名稱保持一致。 2、.podspec 檔案相關a 樣本內容

Pod::Spec.new do |s| s.name = "MethodFactory"s.version = "0.0.1"s.summary = "MethodFactory is a Good Factory of Method." s.description = <<-DESCMethodFactory is a Good Factory of Method ,it has too much nice method.DESC s.homepage = "https://github.com/yanglei3kyou/MethodFactory"# s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" s.license = "MIT"# s.license = { :type => "MIT", :file => "FILE_LICENSE" } s.author = { "yanglei3kyou" => "yanglei3kyou@126.com" }# Or just: s.author = "yanglei3kyou"# s.authors = { "yanglei3kyou" => "yanglei3kyou@126.com" }# s.social_media_url = "http://twitter.com/yanglei3kyou" s.platform = :ios s.source = { :git => "https://github.com/yanglei3kyou/MethodFactory.git", :tag => "0.0.1" } s.source_files = “MethodFactory/**/*.{h,m}" # s.public_header_files = "Classes/**/*.h" s.resources = "MethodFactory/*.png" # s.preserve_paths = "FilesToSave", "MoreFilesToSave" s.frameworks = "Foundation", "UIKit" s.requires_arc = true end 

 

b 參數解釋s.licensePods依賴庫使用的license類型 s.source_files表示源檔案的路徑,注意這個路徑是相對podspec檔案而言的。 s.frameworks需要用到的frameworks,不需要加.frameworks尾碼。 3、建立.podspec檔案 (在 Git倉庫根目錄)a 建立檔案,填寫內容(上方樣本內容),根據內容進行修改b Terminal命令$ pod spec create Method 四、關於LICENSE檔案CocoaPods 要求所有的Pods依賴庫都必須包含license檔案,否則在發布CocoaPods官方時不予通過驗證。license的類型有很多種,在建立github倉庫的時候,已經選擇了MIT類型的license。 五、關於主類檔案建立Pods依賴庫就是為了方便別人使用我們的成果,比如我想共用給大家的MethodFactory類,提供給廣大使用者使用,這個類自然是必不可少的。我把這個類包含的兩個檔案放到一個名稱為MethodFactory的檔案夾中,對應的目錄結構 六、關於Demo工程為了快速地教會別人使用我們的Pods依賴庫,通常需要提供一個Demo工程。我建立的Demo工程放到了一個名為MethodFactoryDemo的檔案夾中,該目錄包含的檔案如所示: 七、關於README.md使用github的人應該都熟悉這個檔案,它是一個成功github倉庫必不可少的一部分,使用的是markdown標記語言,用於對倉庫的詳細說明。添加完上方檔案後,Github本地倉庫目錄就如所示  八、將本地倉庫提交到 Github 中1、pod 驗證$ set the new version to 1.0.0$ set the new tag to 1.0.0$ pod lib lint注意: pod 驗證過程中,出現任何warning 或者 error資訊,驗證都會失敗,請按照提示資訊,進行修改 2、上傳到 Github 中$ git add -A && git commit -m “Release 1.0.0."$ git tag ‘1.0.0'$ git push --tags$ git push origin master 九、不發布此Pods,直接使用Pods如果沒有計劃在CocoaPods中發布此Pods,可直接在項目的Podfile檔案中添加該 Pods並使用。pod ‘MethodFactory’,:git => 'https://github.com/yanglei3kyou/MethodFactory.git' 十、上傳pod spec檔案到 CocoaPods官方倉庫中如果計劃Pods依賴庫在CocoaPods使用,需要將 podspec檔案上傳到CocoaPods官方的specs倉庫中,連結為https://github.com/CocoaPods/Specs。 根據git的規則,要想向別人的倉庫中添加檔案,必須先fork一份別人的倉庫,做完相應地修改後,在push給倉庫的原作者,等到作者審核通過,然後合并到原來的倉庫中。1、fork一份CocoaPods官方的Specs倉庫進入到剛才的官方倉庫連結中,點擊螢幕右上方的fork按鈕,如: 然後大家會發現自己名下會多一份倉庫的分支。比如我的分支為: 2、將fork的倉庫clone到本地$ git clonehttps://github.com/yanglei3kyou/Specs.git重要的事情說三遍: 將對應倉庫地址換成自己的,將對應倉庫地址換成自己的,將對應倉庫地址換成自己的 3、將自己的podspec檔案添加到本地Specs倉庫中Specs倉庫clone到本地後,會放到一個名為Specs的檔案夾中。podspec檔案在Specs倉庫中的儲存原則是:Pods依賴庫同名檔案夾 —> 版本號碼同名檔案夾 —> podspec檔案 照此原則,需要在Specs檔案夾下建立一個名為MethodFactory的檔案夾,然後進入到MethodFactory檔案夾下,建立一個名稱為1.0.0的檔案夾,最後進入到1.0.0這個檔案夾下,並且將之前建立好的MethodFactory.podspec檔案拷貝進來。 不難理解,如果以後有對MethodFactory類的升級,就在MethodFactory檔案夾下建立對應版本名稱的檔案夾,用於儲存對應版本的podspec檔案即可。 4、上傳本地Specs倉庫中的修改到github倉庫$ git add -A && git commit -m “Add MethodFactory pod spec file"$ git push origin master 執行以上命令,成功後就能在github上自己fork的Specs倉庫中看到剛上傳的檔案。 5、將在自己fork的Specs上做的修改pull給CocoaPods官方的Specs倉庫進入到自己fork的Specs倉庫中,會看到螢幕左上方有一個綠色按鈕:New pull request。點擊後會進入另外一個頁面,點擊綠色Create Pull Request按鈕,即可將我們fork的Specs上做的修改pull給CocoaPods官方的Specs倉庫。 到這一步後,剩下的工作就只有等了,等待CocoaPods的維護人員審核並將我們pull上去的修改合并到官方的Specs倉庫中,這個過程通常會有一天左右的等待時間。如果有任何訊息,比如審核不通過,或者審核通過了,CocoaPods官方都會發郵件通知的。到審核通過的時候,我們就能在官方的Specs倉庫中看到自己上傳的檔案夾。 6、查看審核進度審核進度連結:https://github.com/CocoaPods/Specs/pulls,這裡能看到所有的Specs倉庫pull請求 十一、查看我們自己建立的Pods依賴庫先使用 $ Pod setup 更新本地Pods依賴庫Tree。然後在使用 $ pod search MethodFactory 命令搜尋。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.