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中的代码就可以了

相关推荐
大龄码农-涵哥16 分钟前
Spring Cloud微服务架构详解:从服务注册到配置中心,阿里面试核心知识点
spring cloud·微服务·架构
roman_日积跬步-终至千里19 分钟前
【案例题-知识点】架构风格与架构模式(2):高频架构模式与选型
架构
企业架构师老王20 分钟前
药品生产环节:用实在Agent自动生成批记录与打印领料单的合规设计与架构落地
大数据·人工智能·ai·架构
小柯博客22 分钟前
STM32MP2 RIF资源隔离框架详解:从架构到实践
网络·stm32·单片机·嵌入式硬件·架构·嵌入式·yocto
ai产品老杨24 分钟前
告别重复造轮子:深度解析支持源码交付的 AI 视频平台架构,实现 X86/ARM 与 GPU/NPU 异构算力融合
人工智能·架构·音视频
LSL666_24 分钟前
微服务架构——有关概念
微服务·云原生·架构
小江的记录本26 分钟前
【微服务与云原生架构】Serverless架构、FaaS/BaaS、核心原理、优缺点
java·后端·微服务·云原生·架构·系统架构·serverless
喜欢流萤吖~1 小时前
API包独立拆分:微服务的契约治理
微服务·架构
ai产品老杨1 小时前
【深度架构解析】高并发 AI 视频管理平台:兼容 GB28181/RTSP,支持 X86/ARM+GPU/NPU 异构部署与源码交付
人工智能·架构·音视频
csgo打的菜又爱玩2 小时前
8.WebMonitorEndpoint解析.md
大数据·架构·flink