远程私有库的创建 pod 组件化
使用总结:
一. 创建索引库
1.创建远程索引库
在远程创建一个索引库(码云),私有的
2.创建本地索引库,并与远程索引库关联
pod repo add <本地索引库名称> <远程索引库地址.git>
//查看是否创建成功
pod repo
二.创建远程代码库
1.在远程创建一个代码库(码云),私有的
2.创建<模板测试工程>(也就是组件)
pod lib create <组件名> //会生成spec文件 和 测试工程
//然后,将<组件>拷贝到 Classes文件夹中即可,然后执行, pod install 此时, 打开测试工程,可以进行一些修改操作
2.1 也可以直接创建spec 文件 ,然后配置
//pod spec create + 私有库名字 //直接生成spec 文件
3.修改 spec 文件
Pod::Spec.new do |s|
#私有库名称
s.name = "xsspec"
#版本, 也是tag
s.version = "0.0.1"
#摘要
s.summary = "xsbase"
#描述,需比摘要更详细
s.description = 'xsbase可展开收缩'
#项目主页地址(无.git后缀)
s.homepage = "https://gitee.com/DaXueShan/xsbase"
#开源许可类型
s.license = "MIT"
#s.license = { :type => "MIT", :file => "FILE_LICENSE" }
#作者
s.author = { "xueshan1" => "xueshan1@staff.sina.com.cn" }
#最低支持版本
s.platform = :ios, "9.0"
#仓库路径(有.git后缀) 项目需要打tag
s.source = { :git => "https://gitee.com/DaXueShan/xsbase.git", :tag => "#{s.version}" }
#资源文件路径(相对于.git目录开始的, **表示匹配所有子目录, *表示匹配所有文件, 如SFString1/*.{h,m})
s.source_files = "xsbase/*"
#依赖的库,要填写s.dependency
#s.dependency "JSONKit", "~> 1.4"
#s.dependency "Masonry", "~> 1.0.0"
end
4.将<模板测试工程> 提交到 1 创建的远程代码库, 通过 git 操作
git push
//打标签
git tag 0.1.0 (与. spec 中的 s.version 相同)
git push --tags
三.提交 podspecspec 到本地索引库 (它会自动同步到远程)
验证spec:
pod lib lint --verbose --use-libraries --allow-warnings
--allow-warnings (验证时允许有警告)
--verbose (显示检查编译的详细信息)
--use-libraries (podspec文件中依赖了静态库造成的验证不通过,可加上这个参数)
提交spec :
pod repo push <XXspec本地索引库名称> <XXTools.podspec spec 文件名> --verbose --allow-warnings
验证过程出现的 Error
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator ... 解决方案:
升级cocoapods即可解决 sudo gem install cocoapods
四.集成到项目中
在 podfile 文件中需要制定组件的源
source '第一步创建的远程索引库的地址.git' . 注意是spec库的地址,而不是项目仓库的地址
source 'https://gitee.com/DaXueShan/XSRemoteSpec.git' platform :ios,'10.0' target 'MainProject' do pod 'XSBaseZujian','0.1.0' end
参考:
http://www.cnblogs.com/hs-funky/p/6780203.html
http://www.jianshu.com/p/4b63dfbd8be7
http://www.code4app.com/blog-865196-47193.html . 上传到公共github仓库
https://blog.csdn.net/donnydn/article/details/79823566 推荐
远程私有库的创建 pod 组件化的更多相关文章
- iOS组件化开发一远程私有库的升级(三)
一.远程私有库的升级 1. 把新增的类 拖入到 classes 文件夹中 : 2. 修改 pod.spec 文件的 s.verson = ‘0.2.0': 二.更新远程仓库 1.cd 到本地仓库的位置 ...
- iOS开发 - CocoaPods远程私有库从0到1
1. 创建主工程 路径:/Users/Funky/Desktop/CocoaPodRemoteLib/MyMainProject/MyMainProject.xcodeproj 2. 在码云(htt ...
- 搭建CocoaPods远程私有库
1.创建自己的远程私有索引库,用来存放私有框架的.podspec文件,并将其添加到本地索引 我用的仓库是码云(https://gitee.com),用自己的账号新建一个私有仓库,我命名为Private ...
- 基于 svn 服务器及 cocoapods-repo-svn 插件进行组件化私有库的创建
一.准备 组件化 随着业务需求的增长,在单工程 MVC 模式下,app 代码逐渐变得庞大,面对的高耦合的代码和复杂的功能模块,我们或许就需要进行重构了,以组件化的形式,将需要的组件以 pod 私有库的 ...
- iOS 组件化开发之使用CocoaPod制作自己的远程私有库
随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分.但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好 ...
- 工具第二天 cocoaPods 私有库的创建
之前介绍了cocoaPods的安装与使用,今天简单谈一下 自己的私有库运用cocoaPods依赖. cd到需要做库的工程目录下 创建一个podspec文件 创建:pod spec create 名称 ...
- iOS - 组件化探究之私有库的创建
http://www.cocoachina.com/ios/20180511/23359.html
- 本地私有库的实现 pod
以pods的形式,引入本地相关文件 补充: pod repo 查看本地 pod 目录信息 一, 生成本地库 的描述文件.spec //1.进入的 本地库的 目录 cd 'xxx' //2.初始化本地 ...
- iOS组件化开发入门 —— 提交自己的私有库
前言:本人也是初次接触组件化开发,感觉现有的资料太繁杂,就简单整理了一下,在此跟大家分享一些入手的经验,主要就是描述cocoapods的私有库封装和提交.组件化开发是个大的议题,涉及到架构思路.设计模 ...
随机推荐
- Python命令模块argparse学习笔记(一)
首先是关于-h/--help参数的设置 description:位于help信息前,可用于描述helpprog:描述help信息中程序的名称epilog:位于help信息后usage:描述程序的用途a ...
- Runtime机制的使用整理
一.基本概念 1.1.RunTime简称运行时,就是系统在运行的时候的一些机制,其中最主要的是消息机制. 1.2.对于C语言,函数的调用在编译的时候会决定调用哪个函数,编译完成之后直接顺序执行,无任何 ...
- DAY17-认证系统
COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...
- js在浏览器下的区别小结(部分)
1.初始化数组: document.write([1,2,3,].length); IE:4//把数组中最后一个逗号后面的当做了undefined元素 FF.Opera.Safari:3 2.join ...
- 基于Flask框架的Python web程序的开发实战 <二> 项目组织结构
看到第七章-大型程序的结构,备受打击,搞不清工厂函数.蓝本.单元测试,不理解这些对象/变量怎么传递的,感觉好乱,虽然按照源码都照抄了,还是不理解.... 缓缓先.... 本来网上的Flask的教程就比 ...
- 分步编译一个C语言文件
一. 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以在硬件上运行的程序(可执行代码 ),需要进行编译阶段 和链接这两个阶段. 其中, 1. 编译阶段先通过“编 ...
- 使用Get进行Http通信
--------------siwuxie095 有道翻译官网:http://fanyi.youdao.com/ 找到官网页面下方的 有道翻译API,选择 调用数据接口,申请一个 key (申请内容可 ...
- cocos2d-js 浏览器与JSB内存管理机制的不同
写这边文章的主要目的是为了理解使用cocos3d-js开发app时,浏览器调试与真机情况不一致的原因 一.浏览器中内存管理机制 HTML5版本运行时,整个游戏只存在JS脚本与一些必要的资源文件,这时候 ...
- Action层, Service层 和 Dao层的功能区分
Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO ...
- HDOJ 1164 Eddy's research I
Problem Description Eddy's interest is very extensive, recently he is interested in prime number. Ed ...