私有库组件化开发

组件化开发

优势

  • 逻辑清晰、单元化强
  • 耦合度低、便于维护

私有库索引仓库

  • 创建


    码云git仓库创建打样
  • 终端查看现有的本地索引库

pod repo
运行结果打样
  • 添加本地索引库
    ZLManoeuvrePrivateSpec 远程索引库名称
    git@gitee.com:ZLManoeuvre/ZLManoeuvreLibrary.git 远程索引仓库SSH地址
pod repo add ZLManoeuvrePrivateSpec git@gitee.com:ZLManoeuvre/ZLManoeuvreLibrary.git
运行结果打样

创建组件仓库

  • 创建远程组件仓库


    远程仓库创建打样
  • 创建本地组件仓库
    进到指定文件内,用于存放组件仓库
cd /Users/zhaolei/Desktop

ZLManoeuvreLibrary 组件名称

pod lib create ZLManoeuvreLibrary
命令执行完的打样

底部出现选择回答的问题,依次选填即可


答题打样
  • 编辑组件的Spec


    spec文件打样
  • spec文件内编辑内容

# 注释

Pod::Spec.new do |s|

  #组件名称
  s.name             = 'ZLManoeuvreLibrary'

  #组件版本号
  s.version          = '0.0.1'

  #摘要
  s.summary          = '摘要写在这里'

  #详细描述。字数需要比摘要多
  s.description      = <<-DESC
                        这里写上组件的详细描述
                       DESC
  #组件主页地址
  s.homepage         = 'https://gitee.com/ZLManoeuvre/ZLManoeuvreLibrary'

  #权限、授权协议
  s.license          = 'MIT'

  #用户名及邮箱
  s.author           = { 'Mr.Zhao' => 'itzhaolei@foxmail.com' }

  #仓库地址 SSH地址 tag指向了上面的 s.version
  s.source           = { :git => 'git@gitee.com:ZLManoeuvre/ZLManoeuvreLibrary.git', :tag => s.version }

  #支持的系统版本号不小于哪个版本
  s.ios.deployment_target = '8.0'

  #组件文件的存放位置
  s.source_files = 'ZLManoeuvreLibrary/Classes/**/*'

  #公开的头文件
  # s.public_header_files = 'Pod/Classes/**/*.h'

  #依赖的系统库
  # s.frameworks = 'UIKit', 'MapKit'

  #依赖的第三方库
  # s.dependency 'AFNetworking', '~> 2.3'

end
  • 给本地仓库配置远程仓库的地址
    git@gitee.com:ZLManoeuvre/ZLManoeuvreLibrary.git 远程仓库地址
git remote add origin git@gitee.com:ZLManoeuvre/ZLManoeuvreLibrary.git
  • 提交组件到远程仓库
    -u 将本地仓库master与远程仓库master进行关联
    -f 覆盖远程仓库现有的内容
    origin master 远程主分支
    这个配置只需要首次推送内容的时候配置,非首次把本地仓库的内容提交给远程仓库,直接使用git push就可以了。
git add .
git commit -m"初始化并配置本地仓库信息"
git push -u -f origin master
  • 打标签
    为提交到远程的代码打上一个版本号,该版本号应与spec文件里填写的保持一致
git tag 0.0.1
git push --tags
  • 验证spec文件是否可以提交
    只要没有ERROR就可以提交
pod spec lint --private
spec文件验证结果打样
  • 提交到索引库
    ZLManoeuvrePrivateSpec 索引库名称。同步到本地后,会通过名称找到远程链接,然后推向远程
    ZLManoeuvreLibrary.podspec 组件spec文件名及后缀
pod repo push ZLManoeuvrePrivateSpec ZLManoeuvreLibrary.podspec
  • 最后一步,在podfile文件里需要加上,就可以使用私有组件了。
source 'https://github.com/CocoaPods/Specs.git'
source 'git@gitee.com:ZLManoeuvre/ZLManoeuvrePrivateSpec.git'
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近在学习vue.js的时候发现,vue的组件化的思想对于编写代码是一个非常有用的事情。 首先为什么需要组件化? ...
    拂晓的云阅读 7,351评论 6 23
  • 首先,也许有人觉得,开发使用远程私有库很麻烦,还不如直接写好,拖到项目中直接使用来的方便。可我想说的是,在一个小的...
    悠闲自在的蜗牛阅读 2,279评论 0 10
  • 文|狐小白 —01— 从前有一个村儿,村儿里有个姑娘,叫李翠花。 李翠花是村里最好看的姑娘,为什么这么说呢,因为翠...
    狐小白阅读 15,541评论 78 90
  • 目录 1、套路前的三个关键词 2、内容创业者的成长套路 3、赚钱的套路 4、商业化和发展前景 所谓内容创业者,简单...
    王平钢阅读 612评论 0 2
  • 在我学会面对之前,我已经熟稔于各式各样的逃避。好多事情不是因为我能力欠缺而不敢面对,往往是习惯性的逃避在操控着我。...
    阿布拉克萨斯的玫瑰阅读 56评论 0 0

友情链接更多精彩内容