iOS 建立pod私有庫
阿新 • • 發佈:2018-12-29
這裡介紹下如何讓自己所整理的東西可以讓pod引入,主要內容很簡單,但是請注意步驟和細節,膽大心細跟我走~
1.New repository
首先在Github上New一個repository。這裡注意,在新建的時候,要新增license。還有最好建立README,README支援Markdown語法,用於說明自己的庫很方便。 在這安利一個軟體 Typora
2.將Demo和私有庫上傳到Github上
我們需要先建立一個本地庫,然後將程式碼拉下來,將自己的庫和Demo新增上,並在README檔案中用Markdown語法做出簡單的說明。
注意:這個時候是沒有.podspec檔案的
3.建立.podspec檔案
問題基本上出現在這一步,其中很大一個原因是路徑問題,在這希望能給各位做一個參考
這裡執行命令建立.podspec檔案
pod spec create **** // 你的庫名稱
Pod::Spec.new do |s|
s.name = "TSCategory" //私有庫的名稱
s.version = "0.0.2" //版本號
s.summary = "all kinds of categories for iOS develop" //概述
s.description = <<-DESC
this project provide all kinds of categories for iOS developer //描述
DESC
s.homepage = "https://github.com/TonyShng/TSCategory" //git上的地址
s.license = "MIT" //許可證
s.license = { :type => "MIT", :file => "LICENSE" } //許可證
s.author = { "TonyShng" => "[email protected] " } //作者名以及郵箱
s.platform = :ios
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/TonyShng/TSCategory.git", :tag => "0.0.2" } //這個是git上 releases的程式碼,以後每次版本升級,都會傳到這裡
s.source_files = "TSCategory", "TSCategory/**/*.{h,m}" //路徑 前面的表示私有庫名,後面表示私有庫中的內容
s.exclude_files = "Classes/Exclude"
s.public_header_files = "TSCategory/UIKit/TS_UICategories.h", "TSCategory/**/*.h" //前面表示使用私有庫要引入的標頭檔案,後面表示標頭檔案中所引用的標頭檔案的路徑 ~~很繞,下面有圖
s.requires_arc = true //支援ARC
end
這個路徑希望能夠對照著來進行修改,在沒有提交.podspec檔案前都可以修改,但是提交之後,修改之後需要修改版本號,才能重新提交。
4.驗證podspec檔案並提交
pod lib lint ****.podspec // .podspec檔名
如果出現
-> ****(0.0.1) // 庫名
**** passed validation. // 庫名
說明本地驗證通過,有警告的話是不要緊的,可以通過命令遮蔽警告
pod lib lint --allow-warnings
如果出現Error但是提示資訊不足,可以新增--verbose
以獲取更多錯誤資訊
pod lib lint --verbose
5.上傳podspec
這一步需要指定tag
git tag -m"描述" "0.0.1" //
git push --tags // 上傳到git releases中
6.註冊Cocoapods賬號
pod trunk register 郵箱地址 ‘使用者名稱’ —description='描述資訊'
黃色提醒則表示已經發送驗證碼到郵箱,這是需要到郵箱點選連結啟用即可。這樣便成功註冊了Cocoapods的賬號。
pod trunk me // 驗證註冊是否成功
7.上傳程式碼到CocoaPods
pod spec lint // 檢測檔案格式的有效性 有警告,可以使用 —allow-warnings忽略
如果沒有問題的話
pod trunk push ****.podspec —allow-warnings
等上一會,結果就會出現
當這個出現的時候,表示已經上傳成功!恭喜。
然後這個時候讓我們來搜尋一下吧~
pod search ****
等等,為啥沒有???
附上最後一個命令
rm ~/Library/Caches/CocoaPods/search_index.json
然後在搜尋一次,應該就可以了~
參考資料