从零开始创建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 索引库名称 索引库地 ...
随机推荐
- Gang Of Four的23中设计模式
Gang Of Four的23中设计模式 标签(空格分隔): 设计模式 1. 根据目的来进行划分 根据目的进行划分可以分为创建型模式, 结构型模式和行为模式三种. 1.1 创建型模式 怎样创建对象, ...
- Appium:We shut down because no new commands came in
在使用Appium自带的Inspector来查找元素定位时,一段时间(60s)不对其进行任何操作appium就会关闭Android应用,并打印出 info: [debug] We shut down ...
- echarts设置图标图例legend多种形状
legend: { icon: "circle", // 字段控制形状 类型包括 circle,rect,line,roundRect,triangle,diamond ...
- discuz 用户整合 账号整合 ucenter php网站整合discuz用户
引用:https://www.cnblogs.com/kenkofox/archive/2011/09/18/2180649.html 1.登录后台管理.(在论坛中,用创建论坛的admin账号登陆,然 ...
- ADB教程
ADB教程 查看当前pc端连接多少设备 adb devices adb连接android设备 adb connect [192.168.3.113] 断开连接 adb disconnect ...
- linux美化网址
参考博文地址 https://blog.csdn.net/qq_42527676/article/details/91356154 https://www.opendesktop.org/ Dash ...
- 28.3 api--date 日期 (日期获取、格式化)
/* * Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间 * System.currentTimeMillis():返回的是当前系统时间,1970-1 ...
- spark模型运行时无法连接摸个excutors异常org.apache.spark.shuffle.FetchFailedException: Failed to connect to xxxx/xx.xx.xx.xx:xxxx
error:org.apache.spark.shuffle.FetchFailedException: Failed to connect to xxxx/xx.xx.xx.xx:xxxx 定位来定 ...
- pgsql中的lateral使用小结
pgsql中的lateral 什么是LATERAL 带有LATERAL的SQL的计算步骤 LATERAL在OUTER JOIN中的使用限制(或定义限制) LATERAL的几个简单的例子 总结 举几个我 ...
- Win10 cmd的ssh命令连接linux虚拟机
其实就是一个小发现了~ 闲的没事的时候在cmd里面敲了ssh命令,居然提示是一个命令,貌似以前是没有这功能的.然后就打开虚拟机试试能不能远程连接.没想到还成功了~ 有了这功能就省得安装专门的远程连接工 ...