本地私有库到远程私有库
- 手动创建远程私有库时,拷贝工程到组件库里的用意是,便于组件代码测试
其实我们可以通过pod自动方式创建生成,测试工程: pod lib create ***
,选择ObjC
或者swift
语言,创建demo,输入代码前缀- 拷贝代码到Classes目录下,返回Example工程
pod install
- 创建远程代码库,提交本地代码,
git remote add origin <url>
关联远程代码, git push -u origin master
提交到远程,输入远程仓库用户名,密码便提交成功
私有组件索引库
pod repo
可以查看远程私有组件索引库地址- 修改
pod lib create libName
自动方式创建生成的测试工程下的*.podspec
,注意homepage不能为私有地址

- 修改完
pod lib lint
验证本地是否修改成功,打tag提交 pod spec lint
验证远程是否修改成功,可能出现远程仓库没有对应tag情况,根据提示修改。
务必保持远程目录和本地一致,否则*.podspec
文件的source_file字段就会出现一方验证问题pod repo
查看本地索引库是否存在要提交的库,并且本地git commit -am 'do some thing'
提交pod repo add [libname] <url>
创建本地库索引,如果本地库有错误可以pod repo remove [libname]
删除重建pod search [libname]
搜索成功?,表示创建本地库索引成功pod repo push [libname] <url>
提交本地私有组件索引库到远程索引库- 多个文件提交注意事项:
- 每次修改东西,都需要修改*.podspec的版本号,并提交远程都需要
git push --tags
提交版本 pod repo add [libname] <url>
创建本地库索引,如果本地库已有,并且版本错误可以pod repo remove [libname]
删除重建- 跟新本地索引库到到远程
pod repo push [libname] [libspecName].podspec
或者我们可以修改远程[libspecName].podspec文件并更新本地索引库 pod install
安装即可
- 本地库需要清理时
git clean -f
- 中间层工具类有外部依赖时,需要增加*.podspec文件的
dependency
字段 - 如果是已有组件化代码,需要修改*.podspec文件的
source
字段,然后pod repo push [libname] [libspecName].podspec
,引入是Podfile也需要增加source
源
- 在[libspecName].spec文件的source_file字段下,添加subspec如
s.subspec 'Serialization' do |ss|
ss.source_files = 'AFNetworking/AFURL{Request,Response}Serialization.{h,m}'
ss.public_header_files = 'AFNetworking/AFURL{Request,Response}Serialization.h'
ss.watchos.frameworks = 'MobileCoreServices', 'CoreGraphics'
ss.ios.frameworks = 'MobileCoreServices', 'CoreGraphics'
ss.osx.frameworks = 'CoreServices'
end
- 添加代码,修改[libspecName].podspec的版本号,打tag提交到远程
- 验证本地
pod lib lint
和远程仓库pod spec lint
pod search [libname]
并修改本地库的[libspecName].podspec到远程,pod install
安装- 跟新本地索引库到到远程
pod repo push [libname] [libspecName].podspec