iOS组件化实践之一: Cocoapods创建私有库图文详解(github)

本文详细介绍了如何使用Cocoapods搭建iOS私有组件库,包括创建远程索引库、关联本地仓库、创建组件库、配置podspec文件、验证及发布组件等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS组件化实践之一: Cocoapods创建私有库图文详解

1. 创建远程私有索引库Specs

登录github, 创建私有索引库
在这里插入图片描述
克隆地址
在这里插入图片描述

2. 将远程索引库关联到本地cocopods的repos文件夹下

cd /Users/zhouyu/.cocoapods/repos;
pod repo add zhouyuSpecs https://github.com/ios-zhouyu/zhouyuSpecs.git

在这里插入图片描述
/Users/zhouyu/.cocoapods/repos目录下面多了个zhouyuSpecs目录在这里插入图片描述

3. 创建组件化基础库管理文件夹

cd到指定的目录,这个ComponentPrivatePods是自己创建的一个文件目录, 里面放置各个组件化基础库,
本人选择cd /Users/zhouyu/目录下创建
在这里插入图片描述

4. 创建一个基础组件库

cd 到ComponentPrivatePods基础库文件夹, 比如常见的XXKit组件库

cd /Users/zhouyu/ComponentPrivatePods
pod lib create ZYKit

回答几个问题
在这里插入图片描述

创建完毕后会自动使用Xcode打开刚创建的组件库工程文件
在这里插入图片描述
在这里插入图片描述
组件的目录结构说明
在这里插入图片描述

5. 创建对应组件类文件,并拖入组件库

存放到组件库ZYKit>Classes文件夹下, 并删除原有文件

# NSString+ZYString.h

@interface NSString (ZYString)
+ (void)test;
@end
# NSString+ZYString.m
#import "NSString+ZYString.h"

@implementation NSString (ZYString)
+ (void)test {
    NSLog(@"这是个组件库测试");
}
@end

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
清除已被删除文件的引用
在这里插入图片描述

在这里插入图片描述

6. Example工程测试创建的组件库

cd 到Example文件
Podfile文件, 可以看到本地引用路径pod 'ZYKit', :path => '../'

use_frameworks!

platform :ios, '8.0'

target 'ZYKit_Example' do
  pod 'ZYKit', :path => '../'

  target 'ZYKit_Tests' do
    inherit! :search_paths

    
  end
en

执行pod install 安装本地组件依赖
在这里插入图片描述
在这里插入图片描述
不执行pod install 会报错, 找不到本地依赖文件

在这里插入图片描述
验证通过
在这里插入图片描述

7. github创建对应的远程组件库ZYKit

https://github.com/ios-zhouyu/ZYKit.git

在这里插入图片描述
在这里插入图片描述

8. 配置本地ZYKit组件库的podspec文件

具体参数的意义, 请查看网上的说明, 讲解的有很多.
主要注意下面的事项
在这里插入图片描述

9. 将本地组件库ZYKit提交到远程github的ZYKit中

在这里插入图片描述

cd /Users/zhouyu/ComponentPrivatePods/ZYKit
git init          # git初始化
git remote add origin https://github.com/ios-zhouyu/ZYKit.git    # 远程关联
git pull origin master:master  # 从远程分支拉取master分支并与本地master分支合并
git push -u origin master -f   # 提交本地分支到远程分支
git add .  
git commit -m '增加组件库ZYKit'
git push --set-upstream origin master

在这里插入图片描述
在这里插入图片描述

10. 提交增大的tag提及到到远端ZYKit,以便11进行验证

在这里插入图片描述
将tag增大,保存podspec文档
每次修改提交到github对应的组件库都需要增加tag
在这里插入图片描述

git tag '0.1.1'
git push --tag

在这里插入图片描述

11. 对文件进行本地验证和远程验证

在这里插入图片描述

11.1 从本地验证你的pod能否通过验证

pod lib lint --use-libraries --allow-warnings

--verbose:有些非语法错误是不会给出错误原因的,这个时候可以使用--verbose来查看详细的验证过程来帮助定位错误。
--use-libraries:表示使用静态库或者是framework,这里主要是解决当我们依赖一些framework库后校验提示找不到库的时候用到。
--allow-warnings:表示允许警告。在这里插入图片描述

11.2 从本地和远程验证的pod能否通过验证

pod spec lint --use-libraries --allow-warnings

验证通过
在这里插入图片描述

12. 将spec文件提交到本地的私有索引仓库,然后再push到远程索引仓库

在这里插入图片描述

pod repo push zhouyuSpecs ZYKit.podspec --use-libraries --allow-warnings

在这里插入图片描述

13. 查看是否操作成功

本地zhouyuSpecs索引库增加成功
在这里插入图片描述
远端github索引库增加成功
在这里插入图片描述

14. 创建demo引入组件化库

pod init

在这里插入图片描述pod intall

在这里插入图片描述
组件化调用成功
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值