从零开始创建CocoaPods私有库
为什么要创建CocoaPods私有库?
- 避免重复的造轮子
- 节约时间,方便管理自己的代码
- 精益求精
创建CocoaPods私有库
1.创建私有仓库工程
执行命令
pod lib create SmartBeeKit,然后根据实际情况回答问题,本文以创建SmartBeeKit为例。
2.将编写好的源码文件拷贝到SmartBeeKit/Classes目录下
3.在SmartBeeKit/Example目录下执行pod install,然后打开SmartBeeKit.xcworkspace工程,编写测试代码,run?,验证代码是否导入成功
4.在GitHub或者其他代码托管平台上,创建SmartBeeKit远程仓库https://github.com/xxx/SmartBeeKit.git
5.修改SmartBeeKit.podspec文件,里面 包含了大量的注释说明以及每个参数的含义及用法
s.name:名称,pod search 搜索的关键词
s.version:版本
s.summary:简介,pod search 搜索的关键词
s.homepage:主页地址,例如Github地址
s.license:许可证
s.author:作者
s.social_media_url:社交网址
s.platform:平台
s.source:Git仓库地址,例如在Github地址后边加上 .git 就是Git仓库地址,常见写法如下
s.source_files:需要包含的源文件,常见的写法如下
s.resources:需要包含的图片等资源文件
s.dependency:依赖库,不能依赖未发布的库
s.dependency:依赖库,如有多个可以这样写
s.requires_arc:是否要求ARC
复制代码
6.运行pod lib lint SmartBeeKit.podspec验证私有库正确性,出现SmartBeeKit passed validation.表示验证成功。
7.将包含配置好的 .podspec 的项目提交到第4步创建的仓库上,并给这次提交打上 tag,到此,私有库就创建好了,good luck!!!
如何引用自己创建的私有库?
有两种方式引用自己创建的私有库
1.直接引用,不使用索引库,所见即所得?
platform :ios, '9.0'
target 'TestPod' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for TestPod
pod 'SmartBeeKit', :git => 'https://github.com/xxx/SmartBeeKit.git'
end
复制代码
2.创建私有的cocoapods索引库,然后在引用它
2.1 在GitHub、码云等代码托管开发平台上建立一个空的仓库,我创建了一个Rbbin的空仓库,见下图
2.2 将本地索引库与远程索引库做关联
pod repo add Rbbin https://github.com/xxx/Rbbin.git
可以用下面的命令,来查看是否关联成功
pod repo
可以用下面的命令,来删除索引库
pod repo remove [索引库名字]
2.3 将私有仓库push到索引库
pod repo push Rbbin SmartBeeKit.podspec
2.4 配置podfile文件如下,然后pod install
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/xxx/Rbbin.git'
platform :ios, '9.0'
target 'TestPod' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for TestPod
# pod 'SmartBeeKit', :git => 'https://github.com/xxx/SmartBeeKit.git'
pod 'SmartBeeKit', '~> 0.0.1’
end
复制代码
2.5 如何更新维护?
如果有新版本了,比如1.0.0,就需要再次执行命令 pod repo push Rbbin SmartBeeKit.podspec,就可以更新上去.
2.6 如何删除podspec索引库中的私有仓库呢?
其实很简单,只需要cd到~/.cocoapods/repos/Rbbin目录下,删掉库目录
rm -rf SmartBeeKit/
然后push到远端仓库
git add .
git commit -m "delete SmartBeeKit"
git push origin master
复制代码
创建自己的公有库(未完待续...)
转载于:https://juejin.im/post/5ceb3afdf265da1bd30536fd
从零开始创建CocoaPods私有库的更多相关文章
- iOS:最详细的创建CocoaPods私有库教程
一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ...
- 创建Cocoapods私有库
本文以自己在公司做的一个手势密码私有库GesturePasswordKit为例说明. 1.在gitlab(或者github,我这里使用的例子是在gitlab上)上创建git仓库 (确保授权正确,避免后 ...
- 【原+转】创建CocoaPods私有podspec
在我的上一篇文章<iOS 手把手教你发布代码到CocoaPods>中着重介绍如何将自己的代码索引添加到公开的CocoaPods中,当你需要主动地向大众开源你的代码时需要那么做.但在现实中我 ...
- iOS 创建本地私有库 保存功能代码
创建本地私有库 >>> cd /Users/cxx/Desktop/Mange_JJH/Lib >>> pod lib create TZTools >> ...
- iOS之创建CocoaPods公有库教程
简介 在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod inst ...
- 工具第二天 cocoaPods 私有库的创建
之前介绍了cocoaPods的安装与使用,今天简单谈一下 自己的私有库运用cocoaPods依赖. cd到需要做库的工程目录下 创建一个podspec文件 创建:pod spec create 名称 ...
- macOS sierra 10.12 Cocoapods 私有库
使用Cocoapods创建私有podspec 见文章:http://www.cocoachina.com/ios/20150228/11206.html 或http://blog.wtlucky.co ...
- 创建Pods私有库
Pods私有库创建步骤 创建私有 Spec Repo 创建Pod项目工程文件 创建podspec文件 本地测试podsspec文件 向Spec Repo提交podspec Pod库使用 更新维护pos ...
- 通过构建Cocoapods私有库进行组件化开发探索
专题一 一.创建私有索引库 选Github或者码云都可以,本例以Github为例.创建私有索引库用来作为自己组件库的索引: 二.本地添加私有索引库 添加:pod repo add 索引库名称 索引库地 ...
随机推荐
- Ali_Cloud++:阿里云部署 Jenkins持续集成自动化部署
安装方式: 1.yum 源安装 rpm包 2.结合 tomcat 使用 war包 ....... 下载地址:Dowlnoad (分:长期支持版本 (LTS) 和 每周更新版) jenkins插件 ...
- Github使用SSH的步骤
1) 打开git bash命令行工具 2) 输入下面命令生成一对私钥和公钥 ssh-keygen -t rsa -b 4096 -C "你的github的邮箱" 3) 输入公钥和私 ...
- Python Count函数的应用
Python Count函数的应用 通过LeetCode Origin:https://leetcode-cn.com/problems/robot-return-to-origin/ 学会了Pyth ...
- Iscsi技术
Iscsi技术 1案例1:发布iSCSI网络磁盘 1.1问题 本 ...
- C语言把浮点数转换为字符串
目录 1.把float/double格式化输出到字符串 2.注意事项 3.版权声明 1.把float/double格式化输出到字符串 标准的C语言提供了atof函数把字符串转double,但是没有提供 ...
- 【python实现卷积神经网络】优化器的实现(SGD、Nesterov、Adagrad、Adadelta、RMSprop、Adam)
代码来源:https://github.com/eriklindernoren/ML-From-Scratch 卷积神经网络中卷积层Conv2D(带stride.padding)的具体实现:https ...
- Julia控制流
- 数字电路技术之触发器(基本RS触发器)
一.触发器的知识 1.触发器是构成时序逻辑电路的基本逻辑部件. 2.[1]它有两个稳定的状态:0状态和1状态: [2]在不同的输入情况下,它可以被置成0状态或1状态: [3]当输入 ...
- B - Raising Modulo Numbers
People are different. Some secretly read magazines full of interesting girls' pictures, others creat ...
- search(6)- elastic4s-CRUD
如果我们把ES作为某种数据库来使用的话,必须熟练掌握ES的CRUD操作.在这之前先更正一下上篇中关于检查索引是否存在的方法:elastic4s的具体调用如下: //删除索引 val rspExists ...