iOS GitSubModule CocoaPod 制作私有源本地组件库

制作组件库

创建本地POD库

css 复制代码
pod lib create [你的库名称]

What platform do you want to use?? [ iOS / macOS ]
> iOS (选择平台,这里以iOS为例)
What language do you want to use?? [ Swift / ObjC ]
> Swift (选择开发语言)
Would you like to include a demo application with your library? [ Yes / No ]
> No (是否包含示例项目,推荐选Yes,方便测试)
Which testing frameworks will you use? [ Quick / None ]
> None (测试框架,新手可选None)
Would you like to do view based testing? [ Yes / No ]
> No (是否需要视图测试,选No)

创建后

复制代码
TestLib.podspec Pod库描述文件(核心)
_Pods.xcodeproj 自动生成的Pods项目
Example 示例项目
TestLib
MyNetwork.xcworkspace
LICENSE 许可证文件
Classes 存放库的源代码
ReplaceMe.swift 默认生成的示例文件(需替换)

Pod描述文件内容

必填字段(缺少会导致验证失败):

css 复制代码
s.name:库名称,必须与 .podspec 文件名一致
s.version:版本号,需遵循语义化版本(如 1.0.0)
s.summary:简短描述(140 字符以内)
s.description:详细描述(比 summary 更完整)
s.homepage:项目主页 URL
s.license:许可证类型(如 MIT)及许可证文件路径
s.author:作者信息
s.source:源代码仓库地址(Git 仓库 URL)及标签
s.platform / s.ios.deployment_target:支持的平台及最低版本
s.source_files:源代码文件的路径(用于指定哪些文件会被打包)

常用可选字段:

复制代码
s.swift_version:指定 Swift 版本(如 5.5)
s.resource_bundles / s.resource:配置资源文件(图片、XIB 等)
s.dependency:声明依赖的其他库(第三方或私有库)
s.static_framework:强制生成静态框架(适用于混编项目)
s.subspec:将库拆分为子模块(如按功能拆分 Core / UI 模块)
  • 将库的源代码都放入Classes目录下
  • 将库的图片资源都放入Assets目录下

添加远程仓库配置,提交代码并打标签

csharp 复制代码
git remote add origin https://github.com/XXX/TestLib.git
git add .
git commit -m "Initial commit"
git tag 0.1.0
git push -u origin main

主工程添加子模块

  • git submodule add [远程仓库] [本地路径]
  • 例:git submodule add github.com/XXX/TestLib SubModule/TestLib

主工程会在根目录创建 SubModule,并在 SubModule 下面添加 TestLib 子模块

上面的 [本地路径] :SubModule/TestLib 路径会在项目PodFile的配置中用到

集成本地Pod

在项目的 Podfile 中,引入此组件库

  • pod 'TestLib', :path => 'SubModule/TestLib'

path 填写上一步中添加的本地路径SubModule/TestLib

  • 主工程 pod install

大功告成啦!

组件化利器,后面只需要不断更新SubModule中的代码就可以了

相关推荐
二宝1522 小时前
黑马商城day4-微服务02
微服务·云原生·架构
百锦再4 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
wuyunhang1234565 小时前
Docker----快速入门
docker·容器·架构
java_logo7 小时前
Docker 部署微服务项目保姆级教程
java·运维·docker·微服务·容器·eureka·架构
扁豆的主人7 小时前
架构设计过去十年与未来十年
架构
文火冰糖的硅基工坊8 小时前
[人工智能-大模型-33]:模型层技术 - 大模型的神经网络架构
人工智能·神经网络·架构
特拉熊8 小时前
23种设计模式之原型模式
后端·架构
作伴10 小时前
结合Apollo手动实现一个动态线程池jar包
后端·架构
java1234_小锋10 小时前
什么是Java三高架构?
java·开发语言·架构
星哥说事10 小时前
SDN 与 NFV:软件定义网络(SDN)与网络功能虚拟化(NFV)架构
网络·架构