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

相关推荐
糖果豆豆22 分钟前
对象是字段,还是关系?集合论和范畴论吵了三十年,答案是两个都对
算法·架构
倔强的石头10642 分钟前
MoE专家混合架构深度解析
人工智能·架构
DLYSB_1 小时前
门店断网了告警还在吗:边缘站点的缓存与续传架构
缓存·架构·报警灯
行者全栈架构师1 小时前
【鸿蒙心迹】从手机到平板、折叠屏——多端适配自查清单与踩坑实录(HarmonyOS 7.x)
前端·算法·架构
Java后端的Ai之路1 小时前
07React_Props验证器
人工智能·python·react.js·架构·fastapi
Imagination官方博客1 小时前
PowerVR 上的 LLM 性能与加速
人工智能·架构·llama·gpu算力
腾讯云大数据2 小时前
本体立骨架,语义供刻度——DataBuddy对企业AI语义架构的一次完整回答
大数据·人工智能·架构·云计算·腾讯云
lightning_bug2 小时前
docker部署黑马笔记
后端·架构
泡干脆面就番茄3 小时前
Hive入门:架构解析与安装部署实录
大数据·数据仓库·hive·hadoop·架构
yyk333243 小时前
Hive架构
hive·hadoop·架构