iOS-从0到组件使用

新建组件

  1. 本地新建一个文件夹,用于存放管理组件(起名:TestPod)
  2. 下载组件模板到TestPod文件夹
cd 到TestPod文件夹:cd TestPod
下载组件模板并设置组件名:pod lib create TestKit
  • 组件基本设置
// 使用系统
What platform do you want to use?? [ iOS / macOS ]
 > ios
// 使用语言
What language do you want to use?? [ Swift / ObjC ]
 > objc
// 是否创建测试Demo
Would you like to include a demo application with your library? [ Yes / No ]
 > yes
// 使用哪种测试框架
Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > specta
// 是否需要测试视图
Would you like to do view based testing? [ Yes / No ]
 > yes
// 测试Demo的类前缀
What is your class prefix?
 > TB

组件代码

  • 类文件直接复制到TestPod/TestKit/TestKit/Classes里
  1. 配置组件索引文件
podspec.png
  1. 检查索引文件格式是否规范
  • cd 到组件根目录cd [文件夹全路径]/TesPod/TestKit
  • 检查本地索引文件(passed validation 表示通过验证;--allow-warnings可忽略警告)pod lib lint如果提示标签类错误可暂时不用管,往下继续
  1. 制作好的代码Pod到组件测试工程中(可进行编译,运行,发现代码问题)
  • cd 到组件的Example文件夹: cd [文件夹全路径] (eg:/TesPod/TesKit/Example )
  • Pod集成pod install
  1. 把做好的组件推送到自己的组件仓库
cd 到组件根目录cd [文件夹全路径]/TestPod/TestKit/ 
初始化:git init
添加:git add . 
提交:git commit -m "TestKit组件初始化" 
关联git上的组件仓库:git remote add origin [组件仓库URL] 
推送代码:git push origin master 
添加标签:git tag 0.1.0  (这点的版本号需要和spec文件里的版本一致)
标签推送到组件仓库:git push --tags 
检查远程索引文件: pod spec lint (passed validation 表示通过验证)

索引文件仓库

  1. 关联索引文件仓库
* 远程创建的索引文件仓库关联拷贝到本地pod repo add [仓库名] [仓库URL地址] 
  1. 检查是否安装成功
* cd 到索引文件仓库cd ~/.cocoapods/repos/[仓库名] 
* 验证索引文件仓库pod repo lint .

关联CocoaPods服务器

  1. 制作好的组件关联CocoaPods服务器
  • cd 到TestKit组件根目录: cd [文件夹全路径]/TestPod/TestKit
  • 推送组件的索引文件到服务器,并告诉服务器存在哪个私有仓库中[私有仓库名] ( xxSpecs[组件名])
 TestKit repo push [私有仓库名] [组件名].podspec --allow-warnings 
  • 查看本地的CocoaPods仓库(可看到公共库和自己的私有库)
pod repo 
  1. 检查组件
  • 更新本地CocoaPods仓库
pod repo update 
  • 搜索刚才制作的组件[组件名]
pod search [组件名]

项目中引用私有组件

  1. 项目里配置Podfile文件
  • 全局添加(<私有索引文件仓库>地址)
source '组件所在的索引文件地址'   (eg:source 'https://github.com/CocoaPods/Specs.git')
  • 添加组件地址
pod '组件名称'   (eg:pod 'AFNetworking')
image.png

然后就没得咯、、

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录一、基础使用创建私有的pod索引仓库创建网络模块LeelenNetwork私有库使用注意事项二、依赖第三方库三...
    枫叶情结阅读 7,457评论 0 12
  • - 实现组件化开发有哪几种方式? 通过静态库。 通过xcode创建多个子项目,最后合并成一个项目。 创建一个私有库...
    忽然之间_1988丶阅读 1,423评论 2 6
  • 注:需要读者有一定CocoaPods基础,并且设备中CocoaPods已经更新到最新版! 一.组件化介绍 需求来源...
    zhYx_阅读 8,985评论 1 26
  • 一.组件化介绍 需求来源 随着项目规模不断扩大,业务模块增多,开发过程中会有多条产品线(多人或多小组开发不同的功能...
    blackie_james阅读 222评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,615评论 28 53