首先更新了用trunk之后盈滴,CocoaPods 需要0.33版本以上的,用 pod --version 查看,如果版本低展父,需要更新pod參考guides.cocoapods.org/making/gett…
1.賬號(hào)注冊(cè)
$ pod trunk register 郵箱'用戶名'--description='電腦描述'
2.查收郵件
點(diǎn)擊郵件的鏈接就完成了trunk注冊(cè)流程返劲。
3.標(biāo)記tag
cd到項(xiàng)目根目錄
如果未標(biāo)記tag,驗(yàn)證的時(shí)候會(huì)fatal: Remote branch 0.0.1 not found in upstream origin
$? git tag'0.0.1'$? git push --tags
4.創(chuàng)建podspec文件
$ pod spec create? AdAlertView
這時(shí)候本地就生成一個(gè)AdAlertView.podspec文件
5.用編輯器打開.podspec文件
刪除不必要的注釋(這里只簡(jiǎn)單介紹基本用法栖茉,所以只用到一部分必須得字段 更多字段請(qǐng)移步http://guides.cocoapods.org/syntax/podspec.html)編輯的時(shí)候會(huì)報(bào)如下錯(cuò)誤篮绿,根據(jù)提示修改即可
打開spec文件,修改source_files 和 public_header_files
參照:
s.name? ? ? ? ="verifyNumberCode"s.version? ? ? ="0.0.1"s.summary? ? ? ="A short description of verifyNumberCode."s.description? ="實(shí)現(xiàn)短信驗(yàn)證碼驗(yàn)證"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吕漂,說明書的意思亲配。顧名思義,這是用來描述你這個(gè)私有pod的說明信息的惶凝。podSpec是cocoapods的一種文件格式吼虎,有一套自己的語法,我們可以到cocoapods官網(wǎng)進(jìn)行詳細(xì)了解(guides.cocoapods.org/syntax/pods…)苍鲜。
創(chuàng)建podSpec很簡(jiǎn)單思灰,只要?jiǎng)?chuàng)建一個(gè)以.podSpec為后綴的文件即可,或者直接拷貝別人的進(jìn)行修改也可以坡贺。
它的創(chuàng)建命令是:$pod spec create TestFile
podspec文件的常用配置字段介紹
框架名字:框架名字一定要寫對(duì)官辈,pod search"框架名"就是搜的這個(gè)
s.name="yoowei"
框架版本號(hào)
s.version="1.0.0"
框架簡(jiǎn)介
s.summary="yoowei框架"
框架的主頁
s.homepage="https://git.oschina.net/yoowei"
框架遵守的開源協(xié)議
s.license? ='MIT'
框架的作者
s.author? = {"yoowei"=>"yoowei@126.com"}
框架的資源路徑:路徑可以指向遠(yuǎn)端代碼庫,也可以指向本地項(xiàng)目遍坟,例如:1.指向遠(yuǎn)端代碼庫:{ :git => "git@git.oschina.net:yoowei/yoowei.git", :tag => "1.0.0" }2.指向本地項(xiàng)目:? ? { :path => 'yoowei', }
s.source? = { :git =>"git@git.oschina.net:yoowei/yoowei.git", :tag =>"1.0.0"}
框架被其他工程引入時(shí)拳亿,會(huì)導(dǎo)入yoowei目錄下的.h和.m文件
s.source_files ='yoowei/**/*.{h,m}'
框架被其他工程引入時(shí),會(huì)導(dǎo)入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
框架支持的最低平臺(tái)版本
s.platform = :ios,'7.0'
框架公開的頭文件
s.public_header_files ='yoowei/**/*.h'
6.驗(yàn)證spec文件
編輯完podspec文件后需要驗(yàn)證一下這個(gè)文件是否可用podspec文件不允許有任何的Warning或者Error
執(zhí)行命令
$ pod lib lint
有事會(huì)出現(xiàn)部分警高
忽略警高
$ pod lib lint --allow-warnings
7.pushpodspec文件
$ pod trunk push AdAlertView.podspec
忽略警告
$? pod trunk push AdAlertView.podspec --allow-warnings
如果此時(shí)報(bào)下面的錯(cuò)誤愿伴,沒有設(shè)置tag
trunk成功
我們現(xiàn)在就可以使用pod search adalertview
如果提示[!] Unable to find a pod with name, author, summary, or description matchingadalertview``1.Finder前往資源庫去刪除緩存中的search_index.json(xie修改成你自己的)/Users/xie/Library/Caches/CocoaPods刪除search_index.json或執(zhí)行
rm ~/Library/Caches/CocoaPods/search_index.json
然后再輸入pod search時(shí)會(huì)重新創(chuàng)建這個(gè)search_index.json
有時(shí)候發(fā)布完可能需要等一段時(shí)間才能搜索到肺魁。
作者:西門吹霧
鏈接:https://juejin.im/post/5a549248518825733060cd47
來源:掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)隔节,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處鹅经。