iOS 制作一個pod公有庫

一直想制作一個pod庫论矾,然后寫了一個demo XXAlertTransition蔗崎,封裝了幾個present轉(zhuǎn)場的動畫逐哈,效果可點擊XXAlertTransition github地址查看吗冤。這里講的是如何制作公有庫侮腹,制作過程就用XXAlertTransition作為例子了嘲碧,第一次制作,也遇到了一些問題父阻,記錄一下愈涩,代碼提的比較散,后續(xù)需要優(yōu)化加矛。

制作pod公有庫步驟

  1. GitHub上創(chuàng)建一個倉庫XXAlertTransition履婉。
    填上倉庫名,直接點Create repository斟览。

    image.png

  2. 在本機cd到存放這個庫的文件夾下毁腿,終端輸入pod lib create XXAlertTransition

    image.png

  3. 創(chuàng)建pod會問幾個問題,我這里是用Swift寫的代碼苛茂,后續(xù)制作稍有不同已烤,根據(jù)自己情況填寫即可。

    image.png

  4. 創(chuàng)建完畢之后味悄,會自動創(chuàng)建一個XXAlertTransition文件夾草戈,里面有pod的相關(guān)信息塌鸯,并且自動打開此project侍瑟。

    image.png

  5. 將classes里面的ReplaceMe.Swift文件用自己pod的相關(guān)文件替代。(我把ReplaceMe.Swift刪掉丙猬,把之前寫好的demo XXAlertTransition封裝好的幾個類直接拖進來)

    image.png

  6. 修改XXAlertTransition.podspec文件

    注意此圖有問題涨颜,看下面的圖,不刪是想讓自己記住要仔細.png

    傻了茧球,homepage填錯了(導(dǎo)致下面pod spec lint找不到庫報錯,??,仔細呀)钻趋。應(yīng)該是下面這樣:
    image.png

  • ??:如果是Swift庫,這里最好還要加上s.swift_version = '5'督暂。(我沒有加,所以第9步我出錯了穷吮,朋友們?yōu)榱斯?jié)省時間可以直接在這里就加上逻翁,同時記得檢查自己的homepage,source信息呀捡鱼。homepage八回、 source對應(yīng)的是遠端庫的信息)

    homepage地址.png

    source地址.png

  • ??:如果制作的庫有依賴項,記得需要填充s.dependency的內(nèi)容

  1. 提交代碼到遠程倉庫(就是制作的這個本地庫提交和遠程庫關(guān)聯(lián))驾诈。

  2. 添加標(biāo)簽缠诅。必須要這一步,這個標(biāo)簽對應(yīng)上面XXAlertTransition.podspec中的s.version乍迄。 到時cocopods倉庫也是通過版本關(guān)聯(lián)起來的管引,這樣比較清晰。

    image.png

    image.png

  1. lint檢查倉庫就乓,終端執(zhí)行pod spec lint汉匙。
  • 由于開始第6步s.homepages.source填錯所以出現(xiàn)了以下錯誤生蚁。更正后正常噩翠。

    image.png

  • 由于開始第6步未填s.swift_version,所以報了以下錯誤邦投,添加后正常伤锚。

    image.png

  • XXAlertTransition.podspec加入下面這個話:
    s.swift_version = '5'

    image.png

  • 重新pod spec lint成功啦。(如果有依賴項需要用pod spec lint --use-libraries志衣,我制作的這個庫沒有依賴項請注意)

    image.png

  1. 推送podspec到pod庫屯援,終端執(zhí)行 pod trunk push XXAlertTransition.podspec
  • 由于我是第一次推送,會出現(xiàn)以下問題:


    image.png
  • 解決:注冊一個session念脯。然后去郵箱驗證一下狞洋。
    pod trunk register shine9328@qq.com 'weimengxue' --description='A coder.'

    image.png

  • 驗證完畢之后,會看到:


    image.png
  • 再重新pod trunk push XXAlertTransition.podspec就可以成功啦

    image.png

  1. 這里看一下遠程倉庫自動創(chuàng)建的README
  • 未推送podspec到pod庫時是這樣的绿店,描述中沒有相關(guān)信息:


    image.png
  • 推送成功后:


    image.png
  1. 迫不及待的pod search XXAlertTransition看能不能搜到我的庫吉懊,好的,為啥沒有假勿!注意到上面的截圖借嗽,
    CocoaPods 1.10.0 is available. ,而我現(xiàn)在的版本:
    image.png

    更新cocopods版本和repos后转培,pod search XXAlertTransition還是找不到這個庫恶导,我自己創(chuàng)建的demo中在Podfile文件中引入此庫,pod install可以pod下來這個庫浸须,pod search顯示的并不及時惨寿。
    image.png

??:XXAlertTransition邦泄,0.1.4之后的才有效,之前的版本代碼有問題裂垦。

制作pod公有庫遇到的問題

  1. pod lib lintpod spec lint 區(qū)別虎韵。
  • pod lib lint lint的是本地的庫
  • pod spec lint lint的是遠端的庫
    因為tag我修改過代碼,把遠端的tag取消過缸废,所以pod spec lint一直失敗包蓝,而pod lib lint是成功的。倒騰了半天企量,后直接提升了podspec版本號解決了测萎。
  1. 注意制作的庫,公開的訪問級別設(shè)置對届巩,普通的加上public硅瞧,可以繼承的類需要設(shè)置成open。 我因為直接從demo中拖過來的代碼恕汇,之前沒有注意到導(dǎo)致pod完demo訪問不到我的文件腕唧。

  2. 注意pod spec lint前最好pod lib lint 以下,以防有語法錯誤瘾英。pod spec lint功能很強大枣接,編譯問題會有提示。

  3. 修改pod版本步驟(比如我之前提交的pod庫有bug需要修改)

  • 在本地先修改好缺谴,git提交到遠端但惶。因為有bug修復(fù),這里把podspec號也提升一個小版本湿蛔,注意修改s.version
  • 對應(yīng)s.version設(shè)置git tag膀曾,并將tag提交到遠端
  • pod spec lint
  • pod trunk push XXAlertTransition.podspec
  • 用到的地方pod update即可以生效,pods庫里面的版本也提升了阳啥。

參考:

我的制作庫系列之: iOS制作一個pod私有庫文檔
我的制作庫系列之: iOS 制作本地庫Development Pods
cocoapods制作庫的文檔
cocoapods制作Private Pods文檔
cocoapods制作公開Pods文檔
https://juejin.cn/post/6844903810482061325

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末添谊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子察迟,更是在濱河造成了極大的恐慌斩狱,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卷拘,死亡現(xiàn)場離奇詭異喊废,居然都是意外死亡祝高,警方通過查閱死者的電腦和手機栗弟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來工闺,“玉大人乍赫,你說我怎么就攤上這事瓣蛀。” “怎么了雷厂?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵惋增,是天一觀的道長。 經(jīng)常有香客問我改鲫,道長诈皿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任像棘,我火速辦了婚禮稽亏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缕题。我一直安慰自己截歉,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布烟零。 她就那樣靜靜地躺著瘪松,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锨阿。 梳的紋絲不亂的頭發(fā)上宵睦,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音墅诡,去河邊找鬼状飞。 笑死,一個胖子當(dāng)著我的面吹牛书斜,可吹牛的內(nèi)容都是我干的诬辈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荐吉,長吁一口氣:“原來是場噩夢啊……” “哼焙糟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起样屠,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤穿撮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后痪欲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悦穿,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年业踢,在試婚紗的時候發(fā)現(xiàn)自己被綠了栗柒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡知举,死狀恐怖瞬沦,靈堂內(nèi)的尸體忽然破棺而出太伊,到底是詐尸還是另有隱情,我是刑警寧澤逛钻,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布僚焦,位于F島的核電站,受9級特大地震影響曙痘,放射性物質(zhì)發(fā)生泄漏芳悲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一边坤、第九天 我趴在偏房一處隱蔽的房頂上張望芭概。 院中可真熱鬧,春花似錦惩嘉、人聲如沸罢洲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惹苗。三九已至,卻和暖如春耸峭,著一層夾襖步出監(jiān)牢的瞬間桩蓉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工劳闹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留院究,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓本涕,卻偏偏與公主長得像业汰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子菩颖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容