你真的了解Cocoapods Spec倉庫目錄結(jié)構(gòu)嗎

不知道大家有沒有注意到Cocoapods Spec目錄結(jié)構(gòu),如下圖。

1.png

Specs目錄下,并不是直接是以庫的名稱命名的文件夾,而是分了3層目錄,分別以0-f來命名。比如SDWebImage的位置是1/1/7/SDWebImage/0.4.2/SDWebImage.podspec。

其實之前就發(fā)現(xiàn)了這個問題,但是一直沒去想為什么要這樣,它是以哪種方式來確定庫的podspec的位置。

直到今天,有個同事問我,怎么用shell腳本將指定庫的podsepc給拷貝出來。最開始我試了下用find命令,由于specs目錄下的文件太多,查找得出結(jié)果花了好幾秒。然后我開始重新想了下這個問題,料定目錄結(jié)構(gòu)肯定是有規(guī)律的。先是用google搜索一番,沒有相關(guān)的資料。后來又突然想到了MD5,于是把某個庫的名稱做了md5,發(fā)現(xiàn)md5前三位正是其所對應(yīng)的三層目錄,竊喜??。因此,如果有其他庫md5的前三位相同,那么他們就在同一目錄下。

比如SDWebImage的md5是1173B6117A2CF4A6756F761AEDAE9D2C,那么其目錄結(jié)構(gòu)就是1/1/7。

而一般來說,自己創(chuàng)建的私有倉庫的層級是這樣的。

Specs/mylib/0.0.1/mylib.podspec

那為什么要多加幾層目錄呢?猜想可能是Cocoapods中的specs倉庫實在是太大,如果都平級的話,找起來效率不高,并且很麻煩。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容