期望:用
XXPrivateRepos作為一個(gè)私有倉庫,用來管理一些小的組件(或稱模塊)(如:XXUI)
一 、 在github上添加一個(gè)私有倉庫(這里報(bào)紅是因?yàn)橐呀?jīng)創(chuàng)建才截的圖)
- 遠(yuǎn)程創(chuàng)建一個(gè)私有倉庫

- 本地創(chuàng)建私有倉庫
先用cd ~/.cocoapods/repos查看cocoapods現(xiàn)有的倉庫
image.png
現(xiàn)在我們?cè)偬砑右粋€(gè)倉庫 XXPrivateRepos。
pod repo add XXPrivateRepos https://github.com/shine93/XXPrivateRepos.git
添加完畢后文件夾下就多了一個(gè)目錄。

二 、創(chuàng)建一個(gè)庫,打標(biāo)簽
-
在github上創(chuàng)建一個(gè)私有庫
XXUI作為一個(gè)小組件。
image.png -
終端cd到保存私有庫的目錄下,
pod lib create XXUI
image.png 回答制作庫的幾個(gè)問題
- 答完之后自動(dòng)打開了此
project
image.png -
本地目錄下多了相關(guān)的文件
image.png - 用自己需要的文件替換掉這個(gè)
ReplaceMe.swift文件,替換后工程目錄中添加的文件沒有立刻顯示出來,ReplaceMe.swift文件會(huì)報(bào)紅
image.png - cd到
Example文件夾下,pod install之后,工程目錄正常
image.png

-
修改
XXUI.podspec文件。(這里依然沒有依賴任何別的庫,如果有,則需要添加s.dependency)
image.png -
提交代碼和遠(yuǎn)程庫關(guān)聯(lián)起來,并打上標(biāo)簽(標(biāo)簽和
XXUI.podspec文件里面的s.version保持一致)
image.png
image.png
提交完代碼后可以看到庫的相關(guān)信息了。
image.png
打tag:
image.png
image.png
-
lint 代碼
先本地lint
image.png
遇到問題,但并沒有錯(cuò)誤log打印
[!] XXUI did not pass validation, due to 1 warning (but you can use
--allow-warningsto ignore it).
You can use the--no-cleanoption to inspect any issue.
解決:
pod lib lint --allow-warnings
再遠(yuǎn)程lint
pod spec lint --allow-warnings
三 、推送要加入的庫.podspec到git私有倉庫中
- 推送
XXUI.podspec到XXPrivateRepos倉庫中:pod repo push XXPrivateRepos XXUI.podspec - 開始我的倉庫是空的,推送時(shí)出現(xiàn)了以下錯(cuò)誤
image.png
解決:在XXPrivateRepos創(chuàng)建了一個(gè)README.md文件
image.png - 再次推送
pod repo push XXPrivateRepos XXUI.podspec成功
image.png
本地文件夾多了這個(gè)庫相關(guān)的文件:
image.png
遠(yuǎn)程倉庫:
image.png
-
pod search XXUI
image.png
四 、創(chuàng)建一個(gè)demo,pod使用這個(gè)私有倉庫
- 創(chuàng)建一個(gè)
XXTestPrivateRepodemo - 創(chuàng)建
Podfile文件
image.png
不加那個(gè)souce:
image.png
加上source后:

-
demo目錄
image.png -
使用此Label
image.png
import UIKit
import XXUI
class ViewController: UIViewController {
@IBOutlet weak var nameLabel: InsetLabel!
override func viewDidLoad() {
super.viewDidLoad()
nameLabel.layer.cornerRadius = 5
nameLabel.layer.masksToBounds = true
nameLabel.textInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10)
}
}
-
效果:
image.png
參考:
我的制作庫系列之: iOS制作一個(gè)pod公開庫文檔
我的制作庫系列之: iOS 制作本地庫Development Pods
cocoapods制作庫的文檔
cocoapods制作Private Pods文檔
cocoapods制作公開Pods文檔
























