期望:用
XXPrivateRepos
作為一個私有倉庫,用來管理一些小的組件(或稱模塊)(如:XXUI
)
一 、 在github上添加一個私有倉庫(這里報紅是因為已經創建才截的圖)
- 遠程創建一個私有倉庫
image.png
- 本地創建私有倉庫
先用cd ~/.cocoapods/repos
查看cocoapods現有的倉庫
image.png
現在我們再添加一個倉庫 XXPrivateRepos
。
pod repo add XXPrivateRepos https://github.com/shine93/XXPrivateRepos.git
添加完畢后文件夾下就多了一個目錄。
image.png
二 、創建一個庫,打標簽
-
在github上創建一個私有庫
XXUI
作為一個小組件。
image.png -
終端cd到保存私有庫的目錄下,
pod lib create XXUI
image.png 回答制作庫的幾個問題
- 答完之后自動打開了此
project
image.png -
本地目錄下多了相關的文件
image.png - 用自己需要的文件替換掉這個
ReplaceMe.swift
文件,替換后工程目錄中添加的文件沒有立刻顯示出來,ReplaceMe.swift
文件會報紅
image.png - cd到
Example
文件夾下,pod install
之后,工程目錄正常
image.png
image.png
-
修改
XXUI.podspec
文件。(這里依然沒有依賴任何別的庫,如果有,則需要添加s.dependency
)
image.png -
提交代碼和遠程庫關聯起來,并打上標簽(標簽和
XXUI.podspec
文件里面的s.version
保持一致)
image.png
image.png
提交完代碼后可以看到庫的相關信息了。
image.png
打tag:
image.png
image.png
-
lint 代碼
先本地lint
image.png
遇到問題,但并沒有錯誤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
再遠程lint
pod spec lint --allow-warnings
三 、推送要加入的庫.podspec到git私有倉庫中
- 推送
XXUI.podspec
到XXPrivateRepos
倉庫中:pod repo push XXPrivateRepos XXUI.podspec
- 開始我的倉庫是空的,推送時出現了以下錯誤
image.png
解決:在XXPrivateRepos
創建了一個README.md
文件
image.png - 再次推送
pod repo push XXPrivateRepos XXUI.podspec
成功
image.png
本地文件夾多了這個庫相關的文件:
image.png
遠程倉庫:
image.png
-
pod search XXUI
image.png
四 、創建一個demo,pod使用這個私有倉庫
- 創建一個
XXTestPrivateRepo
demo - 創建
Podfile
文件
image.png
不加那個souce:
image.png
加上source后:
image.png
-
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制作一個pod公開庫文檔
我的制作庫系列之: iOS 制作本地庫Development Pods
cocoapods制作庫的文檔
cocoapods制作Private Pods文檔
cocoapods制作公開Pods文檔