从零开始创建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 索引库名称 索引库地 ...
随机推荐
- jenkins 脱机下 安装插件失败
1.首次进入,提示离线 2.网上给出了绝大部分答案是进入Manage Plugins 中在高级下将升级站点的https换成http,但是都没解决我的问题 还是报错,用了大部分时间查阅 最终才发现问题 ...
- echarts整理
保存一些常用的echarts图表及制作方法
- Redis 哨兵模式(Sentinel)
上一篇我们介绍了 redis 主从节点之间的数据同步复制技术,通过一次全量复制和不间断的命令传播,可以达到主从节点数据同步备份的效果,一旦主节点宕机,我们可以选择一个工作正常的 slave 成为新的主 ...
- 1058 A+B in Hogwarts (20分)(水)
If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- a ...
- 【STM32项目笔记】STM32CubeMX+Keil+Proteus联合实现LED闪烁
摘要 利用STM32CubeMx配置STM32芯片的功能,然后将配置后的内容生成代码,并导出成可以使用Keil打开编辑的文件,在Keil中添加控制代码后,下载到Proteus仿真中,使用仿真观察代码执 ...
- 33.2 案例:输出指定目录下的所有java文件名(包含子目录)
package day32_file_文件和目录操作; import java.io.File; public class test_输出指定目录下所有的java文件名 { public static ...
- Linux 下普通用户切换root超级管理员用户的几种方法
1.在命令行下输入:sudo su ,之后会提示你输入密码 2.此时输入你之前设定的密码既可: 3.但有时会提示你该普通用户不在sudoers文件里 4.此时可以使用以下命令来切换root用户权限:s ...
- 算法:模拟退火(基于c++程序)
一 什么是模拟退火算法? 所谓退火,其实是金属冶炼的一个名词.比如加工一把刀,我们通常是把材料加工到很高的一个温度,加以锤炼.之后慢慢的将温度降下来,如果我们降温的控制比较好的话,那么金属里面的原子就 ...
- thinkphp5.0远程执行漏洞
0x01 漏洞简介 由于ThinkPHP5 框架控制器名 没有进行足够的安全监测,导致在没有开启强制路由的情况下,可以伪装特定的请求可以直接Getshell(可以控制服务器) 0x02 环境搭建 Ph ...
- AJ学IOS 之微博项目实战(7)程序启动新特性用UICollectionViewController实现
AJ分享,必须精品 一:效果 这里实现了大多数app都会有的软件新特性的功能,用的是UICollectionViewController实现的 二:思路 这里用了UICollectionViewCon ...