一、前期準(zhǔn)備:
1、安裝cocoapods;(注:http://www.lxweimin.com/p/b64b4fd08d3c,這是cocoapods安裝教程,網(wǎng)上有很多,就不寫了,大家需要的自取吧)
2、安裝source tree或者自己在終端搭建Git環(huán)境,建議使用source tree工具,非常方便;當(dāng)然了,使用終端的話,體驗(yàn)上更爽;
3、github上注冊(cè)一個(gè)賬號(hào)。
二、github上項(xiàng)目準(zhǔn)備:
通過sourcetree建立一個(gè)新倉(cāng)庫(kù),置入你想開源的項(xiàng)目,提交到github上;或者現(xiàn)在github上創(chuàng)建項(xiàng)目,然后拉取到本地,在導(dǎo)入項(xiàng)目,方式可以任意選擇;
三、共有庫(kù)創(chuàng)建
1、配置pod spec文件
podspec文件是用來描述框架的具體信息的,比如框架的作者,版本,下載地址等等,pod install的時(shí)候就是根據(jù)這個(gè)文件中的下載地址去clone代碼
a、使用終端命令創(chuàng)建podspec文件
打開終端,cd到項(xiàng)目根目錄下,運(yùn)行該命令
pod spec create TTLockSDK
b、編寫podspec文件
接下來講解一下每行代碼的含義
s.name:名稱,pod search 搜索的關(guān)鍵詞,注意這里一定要和.podspec的名稱一樣,否則報(bào)錯(cuò)
s.version:版本號(hào)
s.ios.deployment_target:支持的pod最低版本
s.summary: 簡(jiǎn)介
s.homepage:項(xiàng)目主頁地址
s.license:許可證
s.author:作者
s.source:項(xiàng)目的地址
s.source_files:需要包含的源文件
s.vendored_frameworks = "TTLockFrameworks/DFUDependence.framework" //如果是.framework或者.a 必須要加
s.preserve_paths? ? ? = "TTLockFrameworks/DFUDependence.framework"
s.library? = "z"
s.xcconfig = { "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES" => "YES" } ?Build Settings里設(shè)置
s.resources: 資源文件
s.requires_arc: 是否支持ARC
s.dependency:依賴庫(kù),不能依賴未發(fā)布的庫(kù)
2、創(chuàng)建LICENSE文件,執(zhí)行下面指令:
vi LICENSE? (注:可以直接去百度一個(gè)復(fù)制過來,根據(jù)需要自己修改一下)
創(chuàng)建并保存;
給開源項(xiàng)目打上標(biāo)簽:
a、使用sourcetree,點(diǎn)擊標(biāo)簽,就可以給項(xiàng)目打標(biāo)簽了,打完標(biāo)簽之后要提交并推送到github,具體見圖:
b、使用tag命令
打標(biāo)簽
git tag -a 2.6.5 -m "Release version 2.6.5"
提交標(biāo)簽的到github
git push origin --tag 2.6.5
或git push origin --tags
刪除標(biāo)簽的命令
git tag -d 2.6.4
刪除遠(yuǎn)端服務(wù)器的標(biāo)簽
git push origin :refs/tags/2.6.5
加注釋
$?git commit -m "注釋"
提交代碼?
git push -f origin master
完成刪除步驟之后,就可以去github上看看你的項(xiàng)目,是否已經(jīng)有release的tag包了,沒毛病的話應(yīng)該是有的,沒有的話那應(yīng)該就是操作有問題了;
完成上述步驟之后在終端執(zhí)行下面命令,驗(yàn)證podspec文件:
pod spec lint TTLockSDK.podspec
成功后會(huì)輸出TTLockSDK.podspec passed validation,關(guān)于失敗的情況,會(huì)在下一篇博客中講述,不然這篇博客就太長(zhǎng)了。
3、發(fā)布注冊(cè)trunk
a、注冊(cè)trunk,上傳cocoa pods共有庫(kù)需要注冊(cè)trunk賬號(hào),先在終端輸入以下代碼,檢測(cè)是否注冊(cè)過賬號(hào):
pod trunk me
以下情況說明你已經(jīng)注冊(cè)過了,無需再次注冊(cè)
其他情況就是沒注冊(cè)啦,具體提示好像是需要一個(gè)session,在終端輸入以下指令:
pod trunk register 1916325762@qq.com xuxiang(即:pod trunk register 郵箱 名稱)
自己領(lǐng)悟了哈,指令執(zhí)行之后會(huì)發(fā)送郵件到郵箱,進(jìn)入郵箱去驗(yàn)證一下就可以使用了,你可以再終端檢測(cè)一下是否注冊(cè)成功
b、推送podspec文件到共有庫(kù)
完成之前的的驗(yàn)證podspec后,就可以執(zhí)行這個(gè)命令:
pod trunk push TTLockSDK.podspec
pod trunk push TTLockSDK.podspec --skip-import-validation (跳過驗(yàn)證)
pod trunk push TTLockSDK.podspec --skip-import-validation?--allow-warnings (跳過驗(yàn)證,允許警告)
4、成功之后直接去pod search會(huì)發(fā)現(xiàn)還是找不到這個(gè)庫(kù),在終端執(zhí)行以下命令,帶你開啟新的生活
更新倉(cāng)庫(kù):pod repo update
或者按步執(zhí)行:
rm ~/Library/Caches/CocoaPods/search_index.json
pod setup
完了之后就去pod search吧,你會(huì)發(fā)現(xiàn)奇跡!!!