• 主页
  • 随笔
  • 技术笔记
  • 全部文章
标签 友链 关于我

  • 主页
  • 随笔
  • 技术笔记
  • 全部文章

创建属于自己的私有库(码云)以及提交到cocoapods

阅读数:次 2022-01-18
字数统计: 1.1k字   |   阅读时长≈ 4分

项目开发中经常使用pod管理三方库,但在实际开发中,有很多公共组件甚至业务组件也想用 CocoaPods 统一管理,也有助于多人开发。接下来,咱们来说说用 CocoaPods 创建私有库。

一、创建远程私有索引库(存放podspec管理私有库)

在码云(https://gitee.com)上创建一个自己的远程私有索引库,用来存放私有框架的详细描述信息.podspec文件

二、将本地的私有索引库与远程私有索引库进行关联

  • pod repo(查看本地已存在的索引库)

  • 添加本地私有索引库并与远程私有库
1
pod repo add MyProjectSpec https://git.oschina.net/funky_hs/myprojectspec.git
  • 添加完毕后查看本地已存在的索引库 pod repo

三、创建一个用来存放项目基础组件的仓库

在码云(https://gitee.com)上创建一个用来存放项目基础组件的仓库,用来存放组件代码。

四、快速创建模板测试工程(测试基础组件)

  • 桌面新建文件夹CocoaPodRemoteLib存放测试工程

  • 进入文件夹 cd /Users/XXX/Desktop/CocoaPodRemoteLib

  • 执行命令 pod lib create MyProjectBase(快速创建)

  • 按照下图提示选择选项:

  • 创建完毕Xcode会自动打开测试工程,结构如下图:

  • 删除Replace.m文件,将组件的代码复制到文件夹下

  • 进入Example路径下,重新执行pod install操作:

  • cd /Users/XXX/Desktop/CocoaPodRemoteLib/MyProjectBase/Example

  • pod install

  • 此时打开模板测试工程,我们可以看到Pods > Development Pods > MyProjectBase > MyProjectBase > Classes > 组件库

至此模板测试工程配置完毕!

五、将上面的模板测试工程,提交到第三步创建的远程组件仓库

  • 打开模板测试工程,编辑工程下的MyProjectBase.podspec文件

注意:podspec文件中信息必须配置正确,尤其是git地址!!

  • 进入测试工程:cd /Users/XXX/Desktop/CocoaPodRemoteLib/MyProjectBase

  • 验证上一步编辑的 MyProjectBase.podspec文件: pod lib lint

如果有ERROR,则需要去一个个修改完成
出现MyProjectBase passed validation. 则说明验证通过,依次执行以下命令:
  • git status
  • git add .
  • git commit -m ‘编辑spec文件’
  • git remote add origin https://git.oschina.net/funky_hs/myprojectbase.git (将本地库与远程组件代码仓库进行关联)
  • git push origin master (提交到远程仓库)
  • git tag ‘0.1.0’ (要与MyProjectBase.podspec文件中的tag值保持一致)
  • git push –tags(将tag提交到远程)
  • pod spec lint –allow-warnings(验证远程是否正确,注意:Username与Password一定要填写正确)
出现MyProjectBase.podspec passed validation. 表明验证通过

六、将podspec文件提交到本地的私有索引库

  • 进入测试工程:cd /Users/XXX/Desktop/CocoaPodRemoteLib/MyProjectBase

  • 执行命令:pod repo push MyProjectSpec MyProjectBase.podspec 提交到本地的私有索引库

至此远程私有库配置到此就已结束!

七、主工程利用Pods使用我们自己的私有框架

  • 用Xcode打开编辑Podfile文件

  • pod install

八、添加及修改基础组件内容

  • 打开模板测试工程,新增文件

  • 重新编辑MyProjectBase模版工程的MyProjectBase.podspec文件

  • 进入测试工程:cd /Users/XXX/Desktop/CocoaPodRemoteLib/MyProjectBase

依次执行以下命令更新远程组件代码库:
  • git status
  • git add .
  • git commit -m ‘新增Base,Tool文件内容’
  • git push origin master (提交到远程仓库)
  • git tag ‘0.2.0’
  • git push –tags(将tag提交到远程)
  • pod repo push MyProjectSpec MyProjectBase.podspec
更新pod库:

九、在基础组件MyProjectBase内部生成子库

问题描述:当我们执行完第九步后,我们发现主工程的Pods中并没有按文件夹(Base,Category,Tool)进行不同类的划分,同时当我们仅仅想引入一个Category库时,连同Base,Tool也引入进项目中,这就太恶心了!

参照AFNetworking

修改MyProjectBase.podspec文件:

  • 进入测试工程:cd /Users/XXX/Desktop/CocoaPodRemoteLib/MyProjectBase
依次执行以下命令更新远程组件代码库:
  • git status
  • git add .
  • git commit -m ‘生成子库文件夹’
  • git push origin master (提交到远程仓库)
  • git tag ‘0.3.0’
  • git push –tags(将tag提交到远程)
  • pod repo push MyProjectSpec MyProjectBase.podspec
更新pod库:

CocoaPods远程组件私有库配置完毕!

  • 本文作者: Grx
  • 本文链接: https://ruixiaoguo.github.io/Grx.github.io/Grx.github.io/2022/01/18/创建属于自己的私有库(码云)以及提交到cocoapods/
  • 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
  • OC

扫一扫,分享到微信

Carthage包管理三方库
深入了解DeepLink
  1. 1. 一、创建远程私有索引库(存放podspec管理私有库)
  2. 2. 二、将本地的私有索引库与远程私有索引库进行关联
  3. 3. 三、创建一个用来存放项目基础组件的仓库
  4. 4. 四、快速创建模板测试工程(测试基础组件)
    1. 4.0.1. 至此模板测试工程配置完毕!
  • 5. 五、将上面的模板测试工程,提交到第三步创建的远程组件仓库
    1. 5.0.1. 注意:podspec文件中信息必须配置正确,尤其是git地址!!
      1. 5.0.1.1. 如果有ERROR,则需要去一个个修改完成
      2. 5.0.1.2. 出现MyProjectBase passed validation. 则说明验证通过,依次执行以下命令:
      3. 5.0.1.3. 出现MyProjectBase.podspec passed validation. 表明验证通过
  • 6. 六、将podspec文件提交到本地的私有索引库
    1. 6.0.1. 至此远程私有库配置到此就已结束!
  • 7. 七、主工程利用Pods使用我们自己的私有框架
  • 8. 八、添加及修改基础组件内容
    1. 8.0.0.1. 依次执行以下命令更新远程组件代码库:
    2. 8.0.0.2. 更新pod库:
  • 9. 九、在基础组件MyProjectBase内部生成子库
    1. 9.0.1. 参照AFNetworking
    2. 9.0.2. 修改MyProjectBase.podspec文件:
      1. 9.0.2.1. 依次执行以下命令更新远程组件代码库:
      2. 9.0.2.2. 更新pod库:
  • 10. CocoaPods远程组件私有库配置完毕!
  • © 2014-2024 Grx
    GitHub:hexo-theme-yilia-plus by Litten
    本站总访问量次 | 本站访客数人
    • 标签
    • 友链
    • 关于我

    tag:

    • life
    • OC
    • Google
    • Fastlane
    • Flutter
    • hexo
    • 智能家居
    • Apple Watch
    • 逆向
    • Lottie
    • PHP
    • cocos2d
    • Mac
    • MonkeyKing
    • RN
    • Swift
    • RAC
    • WKWebView
    • WebView
    • Xcode
    • xcode
    • ios
    • Android
    • appledoc
    • MMKV
    • LLVM
    • FreamWork






      
      

    • 唐巧的博客
    • 王巍(喵神)OneVsDen
    • 阿里“念纪“
    • 滴滴-戴铭
    • 郭曜源(ibireme)
    • 阿里”南栀倾寒“
    • 蘑菇街李忠
    • 码农人生
    • 玉令天下
    • bang
    • Ian的博客
    这里是Grx的个人博客:
    iOS开发工程师一枚
    联系方式:
    QQ:1217255509
    Email:grx0917@sina.com
    知识管理,时间管理,自我管理,架构即未来
    欢迎技术交流!