iOS组件化开发一远端私有库建立(二)
公共库业务,基础层划分!
一、构建私有云,本文推荐为码云
1、构建名称为LuckTimeSpec,选择私有建立;
2、Copy地址的https 链接;
二、打开终端
输入:
cd /Users/zhangpeng/.cocoapods/repos
(zhagpeng为用户名称)回车
输入:
pod repo add LuckTimeSpec https://gitee.com/peter_zhang/LuckTimeSpec.git
回车
https://gitee.com/peter_zhang/LTSpec.git 为https码云仓库地址
看到克隆输出
Cloning spec repo `LuckTimeSpec` from `https://gitee.com/peter_zhang/LuckTimeSpec.git`
发现文件夹中多了一个LuckTimeSpec文件夹
三、本地私有代码库
1.新建一个组件目录:
cd /Users/zhangpeng/开发程序/demo
2.创建LuckTimeDemo组件工程
pod lib create LuckTimeDemo
如果你安装了pod框架控制台输出:
What platform do you want to use?? [ iOS / macOS ]
> iOS What language do you want to use?? [ Swift / ObjC ]
> ObjC Would you like to include a demo application with your library? [ Yes / No ]
> No Which testing frameworks will you use? [ Specta / Kiwi / None ]
> None Would you like to do view based testing? [ Yes / No ]
> No What is your class prefix?
> PT
3.将自己抽取出的组件拷贝到创建的模板工程中(viewcontroller、代码或者文件夹):
四.创建远程私有代码仓库
1、构建名称为LuckTime,选择私有建立;
2、Copy地址的https 链接;
五.修改组件的LuckTimeDemo.podSpec文件
ps:s.description 文案要大于 s.summary否则上传到远程私有索引库会显示进行错误!
六、提交本地私有模板组件代码到远程私有代码仓库,并打上tag标签
cd /Users/zhangpeng/开发程序/demo/LuckTimeDemo
git add .
git commit -m '时间组件'
git tag '0.1.0'
git remote add origin git@gitee.com:peter_zhang/LuckTime.git
git push -u origin master
git push --tag
如果本本地有 remote可以先删除remote
git remote rm origin
然后执行
git remote add origin git@gitee.com:peter_zhang/LuckTime.git
七、对文件进行本地验证和远程验证
cd /Users/zhangpeng/开发程序/demo/LuckTimeDemo
本地验证
pod lib lint --private
//去掉警告的话可以用
pod lib lint --private --allow-warnings
远程验证
pod spec lint --private
去掉警告的话可以用
pod spec lint --private --allow-warnings
将验证通过的.podSpec文件加入到本地私有索引库,并上传到远程私有索引库
pod repo push LuckTimeSpec LuckTimeDemo.podspec
//不要警告的话可以用
pod repo push LuckTimeSpec
八、文件检查
在cocoapods->repos->LuckTimeSpec路径下就会出现LuckTimeDemo
远程索引库就会有0.1.0版本的索引文件
九、使用终端查看自己的本地云组件
pod search LuckTimeDemo
终端就会显示出自己的版本代码
十、打开终端一顿操作猛如虎
cd /Users/zhangpeng/Desktop/LTMainProject/LTMainProject
vim Podfile
//添加
source ‘https://gitee.com/peter_zhang/LuckTimeSpec.git’
添加pod 'LuckTimeDemo'后退出
pod install
打开主工程发现组件已经乖乖躺在Pod里了
十一、团队人员的用法
拉下工程代码 pod install
cd /Users/zhangpeng/.cocoapods/repos
中就有这个源
pod search MobileKit
也会有
iOS组件化开发一远端私有库建立(二)的更多相关文章
- iOS组件化开发一远程私有库的升级(三)
一.远程私有库的升级 1. 把新增的类 拖入到 classes 文件夹中 : 2. 修改 pod.spec 文件的 s.verson = ‘0.2.0': 二.更新远程仓库 1.cd 到本地仓库的位置 ...
- iOS组件化开发入门 —— 提交自己的私有库
前言:本人也是初次接触组件化开发,感觉现有的资料太繁杂,就简单整理了一下,在此跟大家分享一些入手的经验,主要就是描述cocoapods的私有库封装和提交.组件化开发是个大的议题,涉及到架构思路.设计模 ...
- iOS 组件化开发之使用CocoaPod制作自己的远程私有库
随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分.但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好 ...
- iOS组件化开发-CocoaPods简介
CocoaPods简介 任何一门开发语言到达一定阶段就会出现第三方的类库管理工具,比如Java的Maven.WEB的Webpack等.在iOS中类库的管理工具-CocoaPods. 利用CocoaPo ...
- iOS组件化开发· 什么是组件化
越来越多公司,开始了组件化,你还要等到什么时候...... 说到开发模式,我们最熟知的开发模式 MVC 或者最近比较热门的MVVM.但是我今天说的组件化的开发,其实MVC不是一类的.它其实是····· ...
- iOS组件化开发一本地环境配置(一)
首先我们要使用pod支持组件化开发 解决CocoaPods慢的方案(gem和pod repo换源) gem换源 $ gem sources --remove https://rubygems.org/ ...
- iOS组件化开发-发布私有库
远程索引库 将远程索引库添关联到本地 pod repo 查看本地已关联仓库源 pod repo add 本地索引库名称 远程索引库仓库地址 pod repo update 索引库名称 pod repo ...
- iOS代码组件化--利用cocoaPods创建私有库
如果项目模块多,模块间逻辑复杂,我们发现多个人同时维护一个代码仓库需要十分小心,一不小心,造成冲突,解决起来很烦,相信很多人都遇到手工删除合并的冲突的文件的经历. 如果利用组件化思想,每个人维护自己的 ...
- iOS组件化开发一pod库包含MRC的文件处理(五)
在做项目的过程中,建立了一个私有pod库,在这个库中存在mrc类文件这个时候如果在使用了arc的工程中引用这个pod的工程中手动设置当然也可以就是费时费力.现在我们来看看如何在私有库配置文件里配置自动 ...
随机推荐
- WPF 页面切换效果
原文:WPF 页面切换效果 最近做一个有页面切换的吧.. 我觉得这个功能是比较基础的吧.. 在网上百度了一下.. 用NavigationWindow的比较好.. 因为Demo中是带了淡入淡出的页面效果 ...
- .NET Core 中使用 Humanizer 显示友好时间格式
今天在将一个 .net framework 项目迁移至 .net core 的过程中,在迁移到显示友好时间格式(比如“1分钟前”,“1小时前”)的代码时,找了找看有没有对应的开源库,结果找到了 Hum ...
- WPF 跨界面调用程序
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (System.Threading.ThreadStart)delegate() { sE ...
- js 点击超链接,执行js脚本,而不进行url跳转
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...
- AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享
原文:AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...
- 建立Linux计划命令crontab
crontab翻译:排程,命令 crontab从输入设备输入命令,并将其放入crontab文件,供守护进程crond读取并执行,crond在后台每一分钟执行一次 crontab -e:创建计划命令,进 ...
- Linux可以把vmdk当做磁盘加载进去
VMware虚拟机由于停电,无法启动MAC系统 下午的时候,正在开发ios app,结果停电了.当时还不知道,伴随而来的灾难竟然折腾了好几天,真是心力交瘁. 我是在VMware虚拟机下装的Mac os ...
- Qt之Model-View架构(雨田哥的博客)
Qt之Model-View架构 Qt之Model-View架构 简述 效果图 代码 结尾 简述 为什么会用这个模式,这里我就不解释了,可以看下 豆子哥的见解 .这里我只是如何去使用的.供大家共同探讨学 ...
- 11g Oracle导出表 默认不导出数据为空的表解决
11g oracle导出表时会默认不导出数据为空 1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segm ...
- hgoi#20190514
T1-Curriculum Vitae 给你一个长度为n的01序列a,删去其中的几个数,使得序列中左边是连续的0,右边是连续的1,可以没有0或1,求最多剩下几个数 解法 对于每个点看它左边几个0,右边 ...