首先更新了用trunk之後,CocoaPods 需要0.33版本以上的,用 pod –version 檢視,如果版本低,需要更新pod
參考guides.cocoapods.org/making/gett…
1.賬號註冊
$ pod trunk register 郵箱 `使用者名稱` --description=`電腦描述`
複製程式碼
2.查收郵件
點選郵件的連結就完成了trunk註冊流程。
3.標記tag
cd到專案根目錄
如果未標記tag,驗證的時候會 fatal: Remote branch 0.0.1 not found in upstream origin
$ git tag `0.0.1`
$ git push --tags
複製程式碼
4.建立podspec檔案
$ pod spec create AdAlertView
複製程式碼
這時候本地就生成一個AdAlertView.podspec檔案
5.用編輯器開啟.podspec檔案
刪除不必要的註釋(這裡只簡單介紹基本用法,所以只用到一部分必須得欄位 更多欄位請移步http://guides.cocoapods.org/syntax/podspec.html
)
編輯的時候會報如下錯誤,根據提示修改即可
開啟spec檔案,修改source_files 和 public_header_files
參照:
s.name = "verifyNumberCode"
s.version = "0.0.1"
s.summary = "A short description of verifyNumberCode."
s.description = "實現簡訊驗證碼驗證"
s.homepage = "https://github.com/IT-iOS-xie/verifyNumberCode.git"
s.license = "MIT"
s.license = { :type => "MIT", :file => "FILE_LICENSE" }
s.author = { "xie" => "*********@qq.com" }
s.social_media_url = "http://twitter.com/xie"
s.platform = :ios
s.source = { :git => "https://github.com/IT-iOS-xie/verifyNumberCode.git", :tag => "0.0.1" }
s.source_files = "Classes", "verifyNumberCode/*.{h,m}"
s.exclude_files = "Classes/Exclude"
s.public_header_files = "verifyNumberCode/*.h"
s.requires_arc = true
複製程式碼
podSpec
中spec
的全稱是Specification
,說明書的意思。顧名思義,這是用來描述你這個私有pod的說明資訊的。
podSpec
是cocoapods
的一種檔案格式,有一套自己的語法,我們可以到cocoapods官網進行詳細瞭解(guides.cocoapods.org/syntax/pods…)。
建立podSpec
很簡單,只要建立一個以.podSpec
為字尾的檔案即可,或者直接拷貝別人的進行修改也可以。
它的建立命令是:$pod spec create TestFile
podspec
檔案的常用配置欄位介紹
框架名字:框架名字一定要寫對,pod search
“框架名”就是搜的這個
s.name= "yoowei"
複製程式碼
框架版本號
s.version= "1.0.0"
複製程式碼
框架簡介
s.summary= "yoowei框架"
複製程式碼
框架的主頁
s.homepage= "https://git.oschina.net/yoowei"
複製程式碼
框架遵守的開源協議
s.license = `MIT`
複製程式碼
框架的作者
s.author = { "yoowei" => "yoowei@126.com" }
複製程式碼
框架的資源路徑:路徑可以指向遠端程式碼庫,也可以指向本地專案,例如:
1.指向遠端程式碼庫: { :git => "git@git.oschina.net:yoowei/yoowei.git", :tag => "1.0.0" }
2.指向本地專案: { :path => `yoowei`, }
s.source = { :git => "git@git.oschina.net:yoowei/yoowei.git", :tag => "1.0.0" }
複製程式碼
框架被其他工程引入時,會匯入yoowei目錄下的.h和.m檔案
s.source_files = `yoowei/**/*.{h,m}`
複製程式碼
框架被其他工程引入時,會匯入yoowei/resource
目錄下的資原始檔
s.resources = {
`yoowei` => [`yoowei/resource/**/*.{storyboard,xcassets,xib,png`]
}
複製程式碼
框架依賴的framework
s.framework = `CoreData`
複製程式碼
框架依賴的其他第三方庫
s.dependency `MagicalRecord`, :git => `https://github.com/iiiyu/MagicalRecord.git`, :tag => `sumiGridDiary2.1`
s.dependency `MBProgressHUD`
複製程式碼
框架是否需要支援ARC
s.requires_arc = true
複製程式碼
框架支援的最低平臺版本
s.platform = :ios, `7.0`
複製程式碼
框架公開的標頭檔案
s.public_header_files = `yoowei/**/*.h`
複製程式碼
6.驗證spec檔案
編輯完podspec檔案後需要驗證一下這個檔案是否可用podspec檔案不允許有任何的Warning或者Error
執行命令
$ pod lib lint
複製程式碼
有事會出現部分警高
忽略警高
$ pod lib lint --allow-warnings
複製程式碼
7.push
podspec
檔案
$ pod trunk push AdAlertView.podspec
複製程式碼
忽略警告
$ pod trunk push AdAlertView.podspec --allow-warnings
複製程式碼
如果此時報下面的錯誤,沒有設定tag
trunk成功
我們現在就可以使用pod search adalertview
如果提示[!] Unable to find a pod with name, author, summary, or description matching
adalertview“
1.Finder前往資源庫去刪除快取中的search_index.json
(xie修改成你自己的)
/Users/xie/Library/Caches/CocoaPods
刪除search_index.json
或執行
rm ~/Library/Caches/CocoaPods/search_index.json
複製程式碼
然後再輸入pod search
時會重新建立這個search_index.json
有時候釋出完可能需要等一段時間才能搜尋到。