因為踩了不少坑兒懂酱,所以決定自己來吐吐如何使用 Cocoapods 來管理github 上的項目,并且可以讓開發(fā)者通過 pod 自己的代碼下來使用誊抛。
1. 在 github 上初始化倉庫
-
在你的 github 下初始化一個倉庫:
-
初始化倉庫完成
- 通過終端命令或者github客戶端將倉庫 clone 到本地
-
通過終端命令 clone 倉庫
使用終端進行clone遠程倉庫
注意:
確保你電腦的 Desktop 上沒有跟你倉庫同名的文件夾玩焰,否則會提醒是否將桌面上已存在的同名文件夾替換掉
- clone 倉庫完成
- 將你的 Demo 文件夾下的所有文件移至 clone 下來的文件夾下
親測 只需要進行一次提交就可以完成提交至 Cocoapods 進行管理,不需要先首次提交芍锚,在進行 .podspec 的創(chuàng)建,若是初次嘗試昔园,請忽略這句話
2. 創(chuàng)建 .podspec 文件進行配置
打開終端
通過 cd + 文件夾路徑(直接將文件拖入終端即可) 進入到你的倉庫下
通過 pwd 可查看當前路徑(來確保是否在當前倉庫)
使用 pod spec create + 前綴名稱(例:xxx.podpec , 該xxx就是前綴名稱并炮,建議使用你的庫名稱) 創(chuàng)建 .podspec 文件
得到一個
前綴名稱 .podspec
的文件阅悍,可以將此文件拖至 Xcode 進行打開钉赁,或使用其他的編輯器進行打開-
初次打開 .podspec 文件嘱丢,在文件里頭有相當多的 注釋+配置信息卸耘,如果你是一個
堅強的人的話
可以全部瀏覽,進行分析伍俘。筆者建議直接刪除邪锌,將需要配置的信息進行 copy,然后修改
copy內容如下
copy內容.png copy 完之后癌瘾,對配置進行對應的修改觅丰,修改完之后進行tag標記,然后上傳至 github
重點( tag 標記上傳至 github ):
此處默認以上操作完成(終端完成以下操作,前提路徑在該倉庫下).
1> git tag 'xxx'(xxx必須是你在 .podspec 文件中的 version(版本號))
2> git add . (添加)
3> git commit -m '提交內容'
4> git push origin xxx(xxx是你的tag號)
-
以上操作完成之后妨退,輸入pod lib lint 命令來查看你的.podspec文件是否配置成功妇萄。
xxx.podspec配置成功后.png
此處如果出現(xiàn)紅色警告,查找到 ERROR 處咬荷,查看對應的配置項冠句,打開 xxx.podspec 進行相關修改
3. 發(fā)布到 Cocoapods 進行管理
這一步是最簡單的了
終端中,在該倉庫路徑下幸乒,輸入 pod trunk push 命令即可懦底。
出現(xiàn):
此處應該有掌聲(for yourself),因為你已經成功將你的代碼上傳至 Cocoapods 進行管理罕扎。
but -> maybe wrong ->see below
4. 通過 pod search xxxx 來進行搜索聚唐,驗證我們是否提交成功
如果通過 pod search xxx(自己剛剛提交的庫) 成功了丐重,那么恭喜你。
如果通過 pod search xxx(自己剛剛提交的庫)的時候出現(xiàn)了下面的問題拱层,請繼續(xù)往下看:
-
問題描述:
問題描述.png -
解決方法
解決方法.png -
驗證
接下來通過 pod search xxxx 進行搜索,稍等片刻.png -
成功(game over)
gameOver.png
所過之處宴咧,必有其坑根灯,整個過程當中存在的坑:
-
.podspec 配置文件中 s.source_files 造成的坑:
- 鑒于對
.podspec
文件中s.source_files
的路徑配置未能摸索到位的原因,建議 初次嘗試的人 通過 Xcode 初始化一個 Demo 工程后掺栅,再將你的庫文件導入到工程中進去烙肺, 然后你 show in fonder 下就會發(fā)現(xiàn), 你的文件夾下的文件是這樣子的
文件.png
然后在將這些文件移至你的本地倉庫中氧卧,這樣的話.podspec
中s.source_files
路徑按照 截圖 才對桃笙。 否則你會卡死在s.source_files
配置下, 不信你試試沙绝。
- 鑒于對
-
tag(標簽) 值
搏明、 .podspec 配置文件中的s.version
、推送遠程倉庫是的 origin +xxx
(該值) 是一致的- git tag 'xxx'
- git push origin xxx
- .podspec 配置文件中的 s.version
如果通過該文章實現(xiàn)Cocoapods管理項目的過程中出現(xiàn)了沒有提及到的問題闪檬,請描述下問題所在星著,我會盡快給修改。