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

相关推荐
胡耀超1 小时前
4、存储系统架构 - 从机械到闪存的速度革命
服务器·人工智能·架构·gpu·储存·闪存
chengooooooo4 小时前
微服务架构:从单机到分布式的革命性升级
学习·微服务·架构
上园村蜻蜓队长5 小时前
ARM芯片架构之DAP:AXI-AP 技术详解
arm开发·fpga开发·架构·rtl
柳贯一(逆流河版)7 小时前
Sentinel 深度解析:限流与熔断降级的微服务稳定性保障实践
微服务·架构·sentinel
new_daimond7 小时前
微服务-Nacos 技术详解
网络·微服务·架构
没有bug.的程序员7 小时前
MySQL 在金融系统中的应用:强一致性与高可用架构实战
java·mysql·金融·架构·高可用·强一致性
云澈ovo8 小时前
量子计算预备役:AI辅助设计的下一代算力架构
人工智能·架构·量子计算
IT小番茄9 小时前
AI赋能铁路钢轨铺设:智能化施工实施方案
架构
IT小番茄10 小时前
Kubernetes云平台管理实战:最小的资源Pod(二)
架构
上园村蜻蜓队长12 小时前
ARM芯片架构之调试访问端口(DAP)
arm开发·单片机·fpga开发·架构