期望:用
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-warningsto ignore it).
You can use the--no-cleanoption 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使用这个私有仓库
- 创建一个
XXTestPrivateRepodemo - 创建
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文档
























