在閱讀這篇文章之前請自行閱讀http://www.reibang.com/p/11e343fbb177這篇文章,知道最基礎(chǔ)的git和pod的使用基礎(chǔ)
1、創(chuàng)建spec文件
cd 當(dāng)前目錄
pod spec create testLib
創(chuàng)建成功的打印
打開所在目錄會發(fā)現(xiàn)有一個testLib.podspec這樣的文件
2铅辞、修改.podspec文件內(nèi)容
有關(guān)spec文件的詳細內(nèi)容可以去cocoapods官網(wǎng)里面查看葵礼,地址:https://guides.cocoapods.org/syntax/podspec.html
// 名字
spec.name = "testLib"
// 版本
spec.version = "0.0.1"
//簡介 一般就寫成和生成的項目名一直就可以了
spec.summary = "testLib."
//描述 切記一定要比spec.summary長
spec.description = "testLib,這是一個描述"
//你當(dāng)前git代碼庫的地址,并不是https/ssh地址
spec.homepage = "https://github.com/nalna/testP"
//直接寫成MIT
spec.license = "MIT"
//作者信息
spec.author = { "nalna" => "xxxx@139.com" }
// 源 git對應(yīng)的就是當(dāng)前git倉庫的https鏈接 tag就是打標(biāo)簽也就是版本號
spec.source = { :git => "https://github.com/nalna/testP.git", :tag => "#{spec.version}" }
// 暫不做解釋迁沫,不修改就行
spec.source_files = "Classes", "Classes/**/*.{h,m}"
3芦瘾、設(shè)置tag
設(shè)置的tag版本號要個spec里面spec.version一直,不一直就會找不到當(dāng)前版本
//創(chuàng)建本地版本
git tag '0.0.1'
// 推到遠程倉庫
git push --tags
在遠程倉庫就出現(xiàn)如下的標(biāo)簽
4集畅、注冊trunk
有關(guān)注冊trunk的詳細講解在cocoapods官網(wǎng)也有講解近弟,地址:https://guides.cocoapods.org/making/getting-setup-with-trunk.html
// 第一個是郵箱 名字為自定義的
pod trunk register xxxxx@139.com '名字' --verbose
注冊成功的打印日志
然后將收到的郵箱里面的鏈接地址拷貝出來在新的網(wǎng)頁打開就表示認(rèn)證成功
5、校驗本地的spec
pod spec lint testLib.podspec
// 忽略警告
pod spec lint testLib.podspec --allow-warnings
6挺智、上傳spec到遠程倉庫
//在這之前可以將遠程倉庫的庫添加到本地的cocoapods里面,在~/.cocoapods/repos 可以查看到遠程庫的代碼
pod repo add testLib https://github.com/xxxxx/testLib.git
// 這行命令行我始終沒有提上去祷愉,也沒有找到解決方法,初步判定是網(wǎng)絡(luò)問題逃贝,但是始終沒有解決
pod trunk push testLib.podspec
// 后面用的這行命令行
pod repo push testLib --allow-warnings testLib.podspec
以上就是有關(guān)如何創(chuàng)建spec文件以及上傳到github上面的命令行谣辞,但是github是共有倉庫,我們一般在開發(fā)項目的時候都是私有倉庫沐扳,下面就來介紹一下用碼云創(chuàng)建私有庫的方式泥从,其實都差不多,但是記錄一下沪摄,同時還有一個方便的地方就是上傳spec國內(nèi)網(wǎng)絡(luò)都可以
-------------------------------華麗的分割線------------------------------------
1躯嫉、在碼云創(chuàng)建一個私有庫
2、通過https或者ssh添加spec到本地倉庫地址杨拐,我這里是通過ssh添加到本地
pod repo add DZXSpcs git@gitee.com:daizhongxiang/dzxspcs.git
如果出現(xiàn)一下提示祈餐,說明沒有在倉庫里面添加公鑰
3、生成本地公鑰和私鑰
查看本地是否有私鑰和公鑰
open ~/.ssh
上圖表示存在公鑰和私鑰哄陶,如果沒有生成帆阳,執(zhí)行下面的命令
ssh-keygen
//后面就直接敲回車鍵就可以了
4、將公鑰添加到碼云的后臺
4.1屋吨、通過xcode打開公鑰蜒谤,復(fù)制公鑰代碼
4.2 山宾、復(fù)制公鑰到碼云的ssh公鑰上面就可以了,個人->設(shè)置->ssh公鑰
4.3鳍徽、重新執(zhí)行一下2步驟的命令行
4.4资锰、驗證是否添加庫到本地,前往~/.cocoapods/repos 能查看到自己的私有庫
5阶祭、創(chuàng)建一個基礎(chǔ)的base倉庫并clone到自己指定的文件夾
pod lib create DZXBase
以上字段就不做解釋绷杜,根據(jù)自己的需求選就可以了
6、將自己的庫拷貝到Classes文件夾下面
將ReplaceMe.m這個類刪除放入自己的類就可以了
7濒募、pod install 本地的pod文件鞭盟,使得本地能成功的編譯過
終端進入到Example這個文件目錄
pod 之前的目錄
pod 之后的目錄
8、查看修改后的git
// cd 到倉庫的目錄進行查看
git status
9萨咳、修改本地的spec文件懊缺,修改的詳細信息看分割線之前的內(nèi)容
10、修改完成之后培他,可以驗證以下本地的spec是否正確
pod lib lint
11鹃两、設(shè)置tag,這里就不做過多的解釋
git tag '0.1.0'
12舀凛、提交git,這里就不做過多的解釋
git add .
git commit -m '提交'
git remote add origin xxxxxx
git push origin master
13俊扳、提交tag,這里就不做過多的解釋
git push --tags
14、遠程校驗spec
pod spec lint --allow-warnings
15猛遍、提交spec到遠程倉庫
pod repo push DZXSpcs DZXBase.podspec
這個問題就是說你創(chuàng)建repo庫為空的馋记,直接進入到倉庫里面去創(chuàng)建一個README.m文件就可以了
16、搜索當(dāng)前庫
pod search DZXBase
錯誤信息懊烤,暫時沒有解決,網(wǎng)上有很多說法梯醒,但是都沒有解決我的問題,但是不影響后續(xù)的操作
[!] An unexpected version directory `Classes` was encountered for the `/Users/1t1s/.cocoapods/repos/gitee-daizhongxiang-dzxbase/DZXBase` Pod in the `DZXBase` repository.