1. 创建Spec Repos
Spec repo 包含了所有私有库的索引, 是所有 podspec 文件的仓库, pod安装后, 会在 mac 本地 ~/.cocoapods/repos/ 目录下生成自定义私有库对应的Repos.
1.1 创建远程私有库
可以在 github 或者 osChina 等平台创建私有库 (osChina 免费).
1.2 关联私有库
pod repo add [私有库] [远程库 url]
之后在~/.cocoapods/repos/ 目录下就同步了远程库repo.
2. 创建 lib
为第一步创建的空仓库, 添加库文件!
2.1 在远端创建私有项目, JJ_Lib;
参照1.1创建库文件JJ_Lib.
2.1 本地创建项目, 将库文件引入工程, 关联远端的库.
pod lib create JJ_Lib
2.2 将写好的库文件替换测试项目中的 replaceme.m 文件.
在 Podfile 文件中, 引用本地的库文件
pod 'JJ_Lib', :path => '../' # 指向库文件所在路径
然后执行
pod install # 安装依赖库
打开项目工程,可以看到库文件都被加载到Pods子项目中了, 不过它们并没有在Pods目录下,而是跟测试项目一样存在于Development Pods/JJ_Lib中,这是因为我们是在本地测试,而没有把podspec文件添加到Spec Repo中的缘故。编译项目, 测试是否成功引入的库文件.
2.3 将本地 lib 关联到远端库
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/...i/JJ_Lib.git
git push -u origin master
3. 配置 podspec 文件
3.1 打开项目中 .podspec文件设置对应参数, 参照官方说明Specs and the Specs Repo手动创建
A Podspec, or Spec, describes a version of a Pod library. One Pod, over the course of time, will have many Specs. It includes details about where the source should be fetched from, what files to use, the build settings to apply, and other general metadata such as its name, version, and description.
Pod::Spec.new do |spec|
spec.name = 'libPusher'
spec.version = '1.3'
spec.license = 'MIT'
spec.summary = 'An Objective-C client for the Pusher.com service'
spec.homepage = 'https://github.com/lukeredpath/libPusher'
spec.author = 'Luke Redpath'
spec.source = { :git => 'git://github.com/lukeredpath/libPusher.git', :tag => 'v1.3' }
spec.source_files = 'Library/*'
spec.requires_arc = true spec.dependency 'SocketRocket'
end
3.2 检测是否可用
pod lib lint
3.3 引用本地库
pod 'JJ_Lib', :podspec => '../JJ_Lib.podspec' # 指定podspec文件
3.4 向Spec Repo提交podspec
$ pod repo push MySpecs JJ_Lib.podspec
4. 在pod 中验证是否成功
#私有Spec Repo
source 'https://gitee.com/....git'
pod 'JJ_Lib', '~> 0.1.0'