期望:用
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)有的倉庫
現(xiàn)在我們再添加一個(gè)倉庫 XXPrivateRepos
窑滞。
pod repo add XXPrivateRepos https://github.com/shine93/XXPrivateRepos.git
添加完畢后文件夾下就多了一個(gè)目錄骗爆。
二 、創(chuàng)建一個(gè)庫,打標(biāo)簽
-
在github上創(chuàng)建一個(gè)私有庫
XXUI
作為一個(gè)小組件。
-
終端cd到保存私有庫的目錄下,
pod lib create XXUI
回答制作庫的幾個(gè)問題
- 答完之后自動(dòng)打開了此
project
-
本地目錄下多了相關(guān)的文件
- 用自己需要的文件替換掉這個(gè)
ReplaceMe.swift
文件溯革,替換后工程目錄中添加的文件沒有立刻顯示出來,ReplaceMe.swift
文件會(huì)報(bào)紅
- cd到
Example
文件夾下谷醉,pod install
之后鬓照,工程目錄正常
-
修改
XXUI.podspec
文件。(這里依然沒有依賴任何別的庫孤紧,如果有豺裆,則需要添加s.dependency
)
-
提交代碼和遠(yuǎn)程庫關(guān)聯(lián)起來,并打上標(biāo)簽(標(biāo)簽和
XXUI.podspec
文件里面的s.version
保持一致)
提交完代碼后可以看到庫的相關(guān)信息了号显。
打tag:
-
lint 代碼
先本地lint
遇到問題臭猜,但并沒有錯(cuò)誤log打印
[!] XXUI did not pass validation, due to 1 warning (but you can use
--allow-warnings
to ignore it).
You can use the--no-clean
option 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ò)誤
解決:在XXPrivateRepos
創(chuàng)建了一個(gè)README.md
文件
- 再次推送
pod repo push XXPrivateRepos XXUI.podspec
成功
本地文件夾多了這個(gè)庫相關(guān)的文件:
遠(yuǎn)程倉庫:
-
pod search XXUI
四 蔑歌、創(chuàng)建一個(gè)demo,pod使用這個(gè)私有倉庫
- 創(chuàng)建一個(gè)
XXTestPrivateRepo
demo - 創(chuàng)建
Podfile
文件
不加那個(gè)souce:
加上source后:
-
demo目錄
-
使用此Label
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)
}
}
-
效果:
參考:
我的制作庫系列之: iOS制作一個(gè)pod公開庫文檔
我的制作庫系列之: iOS 制作本地庫Development Pods
cocoapods制作庫的文檔
cocoapods制作Private Pods文檔
cocoapods制作公開Pods文檔