一、創(chuàng)建工程到本地目錄
代碼本地位置 cd /Users/xxx/Desktop/
// JYCCTool pod 'JYCCTool'
pod lib create JYCCTool
注意:
(1)JYCCTool 是開源庫的名字翎碑,可以根據(jù)自己的功能開取名谬返;
這個命令執(zhí)行后,命令行會問下面幾個問題:
(2)當(dāng)被問及創(chuàng)建Swift還是OC項目日杈,按自己要求回答遣铝,我選擇ObjC;
(3)當(dāng)被問及是否創(chuàng)建一個demo應(yīng)用包含在工程里莉擒,根據(jù)需要酿炸,如果需要寫一個demo示例,就選擇Yes涨冀,否則選擇NO填硕,我這里選擇Yes;
(4)當(dāng)被問及是否需要使用測試Framwork鹿鳖,選擇NO扁眯;
(5)當(dāng)被問及是否需要做接界面調(diào)試壮莹,我這里選擇NO;
(6)還有一個就是工程文件的前綴恋拍,我這里是自己的名字的縮寫垛孔,這個隨意寫藕甩;![20210222194529599.png
下圖中YZFaceTool 是盜的幾個圖施敢,??,當(dāng)成JYCCTool就行了狭莱!
完成后僵娃,進(jìn)入文件夾,可以看到命令行我們創(chuàng)建一個了模板的工程腋妙,如下圖:
二默怨、 添加代碼,并模擬測試使用
進(jìn)入上圖中骤素,Classes那個文件夾匙睹,放入要上傳的代碼
然后,用命令行進(jìn)入Exmaple济竹, 然后pod install 模擬下載你添加的代碼痕檬,如下圖:
這樣,就可以模擬其他用戶pod install你的開源庫送浊。此時梦谜,可以在項目中模擬測試一下,是否可用袭景,如果沒有問題唁桩,就可以準(zhǔn)備上傳到cocoapods庫了。
三耸棒、 需要在GitHub上新建一個項目地址
新建完成后荒澡,會進(jìn)入如下的頁面:得到一個https://github.com/jiangyongchang126/TestCTool.git
四、配置本地podSpec文件
本地項目與GitHub地址關(guān)聯(lián)
用命令行關(guān)聯(lián)与殃,需要先回調(diào)主目錄:
然后用命令行:git remote add origin url(gitlab的工程的url)
git remote add origin https://github.com/jiangyongchang126/TestCTool.git
關(guān)聯(lián)完后单山,就提交代碼:
git add .
git commit --m “xxxx”
git push origin master
本地驗證
在命令行中輸入如下的代碼:
//注意:
//(1)JYCTTool.podspec要替換成自己的具體的.podspec的名字
pod lib lint JYCTTool.podspec
// 如果需要忽略警告
pod lib lint JYCTTool.podspec --allow-warnings
執(zhí)行,等一會兒奈籽,如果沒有問題饥侵,就出現(xiàn)下圖的passed validation。 如果成功了衣屏,就可以打tag了躏升。
打tag
這個tag要注意跟podspec里面寫的version要保持一致,回憶一下這個version在哪里狼忱,如下圖:
git tag 0.1.0
git push --tags
如果有tag膨疏,說明tag打成功了一睁,可以進(jìn)入tag,然后點擊下載查看一下佃却,下載下來的代碼是否跟你代碼一樣者吁。如果一樣,說明你的開源代碼已經(jīng)上傳上去了饲帅。但是這時候還不能給其他人使用复凳。
遠(yuǎn)程校驗
pod spec lint JYCTTool.podspec
// 警告
pod spec lint JYCTTool.podspec --allow-warnings
如果成功了,就可以推倒trunk里了灶泵。
推到trunk
在推到trunk之前育八,需要檢查一下,自己是否有trunk賬號赦邻,用命令
pod trunk me
如果沒有賬戶注冊一個
// jiangyongchang@126.com郵箱
// huangxx 用戶名
pod trunk register jiangyongchang@126.com 'huangxx'
推podspec到trunk上
pod trunk push JYCTTool.podspec
執(zhí)行成功就OK了髓棋,更新一下本地cocoapods庫,pod search JYCTTool就能找到了
遇到的錯誤
// 說明cocopods庫中已經(jīng)有一樣的名字了惶洲,修改一下自己的名字按声,或者重新創(chuàng)建一個工程
You are not allowed to push new versions for this pod. The owners of this pod are anl@hpp.cn