组件化pod库制作

时光毁灭记忆、已成空白 提交于 2019-11-29 08:54:30

一)、组件化的目的:

1、解耦各模块和业务,便于开发维护

2、构建可复用模块,便于复用

3、由于开发人员很多时,合作开发代码很容易冲突等,沟通成本很高,让各模块做成组件,每个人只负责某一模块,让开发更有效率

4、提高工程编译速度,当工程很大时,编译是一个十分耗时的过程,各模块做成组件,前期做功能时,只需关注编译自己的模块工程,减少总的编译时间

5、便于模块化测试,可以单独测试各组件模块

二)、组件化的类型:公有和私有podspec

1、使用Cocoapods创建公有podspec

2、使用Cocoapods创建私有podspec

 

三)、公有podspec制作步骤:   当然你电脑安装了cocoaPods了,

1、注册trunk

查看自己是否注册过trunk

$pod trunk me 

注册trunk

$ pod trunk register 邮箱 ‘你的名称’ —description=‘电脑机型描述’

如:$ pod trunk register zhangsan@163.com ‘zhangsan’ —description=‘MacBook Pro’

注册后,cocoapods官方会向你邮箱发送确认邮件,点击确认即可.

确认后,可以再使用$pod trunk me  查看个人信息

2、创建项目工程,并上传到github上,获得项目代码地址

https://github.com/xxx/xxx.git

3、创建.podspec

1、cd 到你的项目下

2、创建.podspec   podName为你自己的组件名称

$ pod spec create podName 或者 pod spec create podName podName库远程地址

4、编辑.podspec文件

可以使用文本编辑器编辑上面生成的podName.podspec文件,根据需要填写内容,一般按照下面的格式填就够了:尤其注意s.version版本号就是你代码的tag版本号

Pod::Spec.new do |s|
  s.name         = "SpecComponent"
  s.version      = "0.1.0"
  s.summary      = "SpecComponent is a kind of learning tools"
  s.description  = <<-DESC
是一个学习podspec的项目 借助这个项目你可以快速构建一个pod库 有了这个学习项目 就无忧了
                   DESC

  s.homepage     = "https://github.com/zhangsan/SpecComponent"
  s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

  s.author             = { "zhangsan" => "zhangsan@qq.com" }
   s.platform     = :ios, "8.0"
  s.source       = { :git => "https://github.com/zhangsan/SpecComponent.git", :tag => "#{s.version}" }
  s.source_files  = "SpecComponent/**/*.{h,m}"


  # s.exclude_files = "Classes/Exclude"
  # s.public_header_files = "Classes/**/*.h"
  # s.resource  = "icon.png"
  # s.resources = "Resources/*.png"
  # s.requires_arc = true
  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
  # s.dependency "JSONKit", "~> 1.4"

end

5、本地验证.podspec文件是否可用($ cd podspec文件所在目录)

一般一下几种验证方式:

验证本地的:

$ pod lib lint (验证)

$ pod lib lint —verbose (验证-并显示详细信息)

$ pod lib lint —allow-warning   (验证—忽略警告)

本地和远程都验证:

$ pod spec lint podName.podspec —verbose  (这个从本地和远程验证你的pod能否通过验证,上面三个都是从本地验证你的pod能否通过验证)

6、将.podspec和代码提交到git上,并打版本号tag

$ git tag -a 0.0.1 -m “V0.0.1”

$ git push —tags

7、再次本地远程验证.podspec是否可用

$ pod spec lint podName.podspec —verbose  (这个从本地和远程验证你的pod能否通过验证,上面三个都是从本地验证你的pod能否通过验证)

8、发布公有podspec库

提交到远端(有警告选最后一个)

$ pod trunk push podName.podspec

$ pod trunk push podName.podspec —verbose

$ pod trunk push podName.podspec —allow-warnings

9、验证仓库(注意search不到,并不一定是没成功,使用podfile中看看能否拉下来代码)

$ pod search podName (搜索你的podName库)

10、在你新开的项目工程中使用podfile,拉取你组件库代码

Pod ‘podName’

至此,公有podspec库制作就完毕了

下一篇接着写podspec私有库制作。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!