使用Cocoapods建立私人podspec,cocoapodspodspec

來源:互聯網
上載者:User

使用Cocoapods建立私人podspec,cocoapodspodspec
最初

開發 iOS 項目不可避免地要使用第三方開源庫,引用方式基本有兩種

方式一、直接拖拽進工程。

方式二、CocoaPods 管理。

我們在Github或Coding建立一個倉庫,放置我們的庫代碼,目錄結構就成了這樣的


 

用的時候clone下來,拖進工程。以為方式一

本文 

方式二引入庫,就是用pod install 的引入。所以需要在這個庫的根目錄下有個同名的podspec檔案,目錄結構就成了這樣。


 

podspec的作用,就是pod install的時候告訴pod應該怎麼引入這個庫。這個檔案裡有些參數需要設定。

 


 

配置 Podfile,然後安裝。

 


 

至此就可以用pod install引入我們的庫了。

Pod 自動建立工程

可以用命令列自動完成建立庫檔案,測試工程,podspec的步驟。

終端輸入 pod lib create TestPrivateCodeRepo,CoccoaPods 會問幾個問題

要使用的語言

是否需要範例工程

是否需要一個測試架構

是否需要基於 View 的測試

還有類的首碼

然後自動開啟建立好的工程。


 把組件相關的類放到工程中,這個路徑是podspec檔案配置的時候指定的。

 


 

cd 到 TestPrivateCodeRepo根目錄下,將此版本資源檔push,並打上標籤(標籤用來pod install 指定的版本)

pod add . //添加所有檔案

pod commit -am "descrube " //放到緩衝區準備push

本地git庫是直接pod lib create TestPrivateCodeRepo產生的,相當於直接 git init出來的,還沒有連結到遠程庫。

pod remote add origin https://git.coding.net/jxlucky/TestPrivateCodeRepo.git

pod pull <庫地址> master

pod status //看一下狀態有東西要提交

pod add .

pod commit -am "f c 1"

pod push origin master 

pod tag -m "tag describe" 0.1.0 //打標籤

pod push --tags //push 標籤

本地驗證podspec

cd Example

修改Podfile檔案

 


 

pod install

至此可以用pod install 的形式引入我們自己的庫了

注意:我們的工作工程Podfile裡要這樣修改

pod 'TestPrivateCodeRepo', :git =>'git地址',"tag => '0.1.0'

不能直接用pod'TestPrivateCodeRepo', :podspec =>'../TestPrivateCodeRepo.podspec'

發布 podspec

建立spec庫,spec庫就相當於一個設定檔庫,直接在Github或Coding建立一個空白庫就行了。

pod repo add TestSpecs 遠程Spec庫的git地址 //它的作用相當於建立一個空目錄TestSpecs,在裡面git clone 遠程Spec庫的git地址

cd 到TestPrivateCodeRepo根目錄,驗證podspec

pod lib lint TestPrivateCodeRepo.podspec

驗證順利的話將podspec發布

pod repo push TestSpecs TestPrivateCodeRepo.podspec

此時遠程Spec庫和本地~/.cocoapods/repos/TestSpecs路徑下都得到了更新。

測試

建立工程》pod init >>編輯Podfile

source 'https://github.com/CocoaPods/Specs.git'

source '我們自己的spec庫.git'

use_frameworks!

target 'AnProject' do

pod 'TestPrivateCodeRepo'

end

最後,

當所用TestSpecs有更新時執行 pod repo update TestSpecs,同步遠程spec庫到本地

 

 

遇到問題

一、pod search 時出現[!] Unable to find a pod with name, author, summary, or description matching

解決:rm ~/Library/Caches/CocoaPods/search_index.json 然後重新搜尋

 

二、[!] The repo `MySpecs` at `../../../.cocoapods/repos/MySpecs` is not clean 錯誤

解決:cd ~/.cocoapods/repos/MySpecs,git clean -f

 

友情連結:

blog.wtlucky.com/blog/2015/02/26/create-private-podspec/

www.open-open.com/lib/view/open1469488701199.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.