从零开始创建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 索引库名称 索引库地 ...
随机推荐
- C# 快速开发框架搭建—开发工具介绍
C# 快速开发框架搭建—开发工具介绍 一.VS2013,SQL SERVER R22008 以上两种工具如有不会者自行百度学习下. 二.动软代码生成器 对于经典的三层架构框架来说,使用动软代码生成器会 ...
- Appium自动化(2) - appium环境安装常见问题的解决方案
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 问题1:adb检测不到设备 解决 ...
- Java运行时数据区域划分
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁时间.根据<Java虚拟机规范(Java SE 7版>的规定,J ...
- 修复Windows10引导,适用gpt+uefi环境
在双硬盘多系统安装时,容易损坏Win10的开机引导文件. 可以尝试用Windows原版安装盘启动,进入命令提示符模式: 首先使用diskpart命令确认需要修复的Windows分区的安装卷X:. 再运 ...
- gcc/g++堆栈保护技术
最近学习内存分布,通过gdb调试发现一些问题,栈空间变量地址应该是从高往低分布的,但是调试发现地址虽然是从高往低分布,但是变量地址的顺序是乱的,请教同事他说可能是gcc/g++默认启用了堆栈保护, ...
- 【python实现卷积神经网络】损失函数的定义(均方误差损失、交叉熵损失)
代码来源:https://github.com/eriklindernoren/ML-From-Scratch 卷积神经网络中卷积层Conv2D(带stride.padding)的具体实现:https ...
- rdd简单操作
1.原始数据 Key value Transformations(example: ((1, 2), (3, 4), (3, 6))) 2. flatMap测试示例 object FlatMapTr ...
- Android Google Play app signing 最终完美解决方式
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/105561341 本文出自[赵彦军的博客] 在 GooglePlay 创建 App ...
- leetcode c++做题思路和题解(4)——队列的例题和总结
队列的例题和总结 0. 目录 栈实现队列 队列实现栈 滑动窗口最大值 1. 栈实现队列 FIFO和FILO,相当于+-号,互转都是利用"负负得正"的原理. 官方解答中第二种思路很6 ...
- MAC 上brew 更新 出错
在MAC上brew update的时候出现报错:Error: /usr/local must be writable! 错误,在该文章中也给出解决办法(sudo chown -R $(whoami) ...