CocoaPods搭建私有库

一、创建Spec Repo的私有远程仓库

1、在git远程服务器创建一个Spec Repo的私有仓库,XXXSpecs,用来存储Spec Repo的私有仓库

2、创建本地Spec Repo

  1. 前往文件夹 ~/.cocoapods/repos,打开终端

  2. 在终端切换到当前目录下执行:pod repo add XXXSpecs https://gitee.com/username/XXXSpecs.git

gitee.com/username/XX… 是Spec Repo的私有远程仓库地址
pod repo list:查看本地Spec Repo
在新机器可以配置私有库到本地cocoapods

3、在git远程创建一个私有仓库,XXXPodProject,用来存放项目工程文件。

创建时不要初始化

4、创建pod的所需的项目工程文件,并上传到远程私有仓库

  1. 在终端,cd切换到某个目录下
  2. 执行pod lib create PodLibName
What platform do you want to use?? [ iOS / macOS ]

 > ios




What language do you want to use?? [ Swift / ObjC ]

 > swift



Would you like to include a demo application with your library? [ Yes / No ]

 > yes



Which testing frameworks will you use? [ Quick / None ]

 > none



Would you like to do view based testing? [ Yes / No ]

 > yes 

5、修改文件及podspec

  1. 修改文件及podspec 配置,添加swfit版本 s.swift_version = '4.2'
  2. 打标签tag
  • 创建标签 git tag 1.0.0
  • 推送标签 git push --tag
  • 查看标签 git tag

6、验证本地podspec有效性

pod lib lint PodLibName.podspec

7、 将本地项目文件上传到远程仓库中

git remote add origin url

这里需要重点注意的是,我们给打的标签值要与podspec文件中的版本号一致。

8、向私有的spec Repo远程仓库中提交podspec

将Lib仓库和Spec Repo进行关联
使用 pod repo push XXXSpecs PodLibName.podspec 命令把私有库添加到私有repo中。
此时,~/.cocoapods/repos/XXXSpec 文件夹下已经有当前版本的podspec文件了

二、新电脑配置本地私有库

  1. 终端cd ~/.cocoapods/repos
  2. 配置远程私有库pod repo add XXXSpecs https://gitee.com/username/XXXSpecs.git

三、创建新的lib到AHSpecs

  1. 创建pod lib create PodLibName
What platform do you want to use?? [ iOS / macOS ]

 > ios




What language do you want to use?? [ Swift / ObjC ]

 > swift



Would you like to include a demo application with your library? [ Yes / No ]

 > yes



Which testing frameworks will you use? [ Quick / None ]

 > none



Would you like to do view based testing? [ Yes / No ]

 > yes 

  1. 验证lib
    pod lib lint PodLibName.podspec
  2. 关联(推送)lib到AHSpecs
    pod repo push XXXSpecs PodLibName.podspec

每次lib更新之后也需要push

四、上传cocoapods

pod trunk push  <私有代码库>.podspec
提示你去注册。输入你的Email和姓名,然后去邮箱验证通过。



pod trunk register Email 'username' --verbose
pod trunk push  <私有代码库>.podspec

五、遇到的问题

  • iOS 私有库中依赖私有库 且有第三方framework的处理

  • 使用--allow-warnings参数,例如pod repo push --allow-warnings,这样可以忽略掉一些警告信息,但是如果有错误信息,还是会中断推送。

  • 使用--skip-import-validation参数,例如pod repo push --skip-import-validation,这样可以跳过验证podspec文件中的source_files是否能正确导入,这个参数对于一些依赖了第三方框架的私有库比较有用,因为有时候在.h文件中import <>会导致验证失败。

  • 使用--use-libraries参数,例如pod repo push --use-libraries,这样可以在验证时使用静态库而不是动态库,这个参数对于一些依赖了静态库的私有库比较有用,因为有时候动态库会导致验证失败。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY6eU9AV' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片