简介:
前一篇文章已经介绍过如果安装使用CocoaPods,下面将要介绍如果通过CocoaPods和git来维护我们私有的库.
个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开源库一样在CocoaPods中管理它们,那么通过私有仓库来管理就很必要。
对于CocoaPods还不太熟悉的,建议到CocoaPods的官网看看:https://cocoapods.org/,或者百度谷歌查询下cocoapods一些常用的功能.
 
原理:

 
一.创建私有库
1.使用xcode建立新的工程,选择Cocoa Touch Static Library,取名为pod_test.
 

 
 
2.创建一个类PodTest,给PodTest添加一个类方法,使用后输出hello world
.h
#import <Foundation/Foundation.h>
@interface PodTest : NSObject
+(void)test;
@end .m
#import "PodTest.h"
@implementation PodTest
+(void)test {
NSLog(@"hello world");
}
@end 
3找一个能托管PodTest的git服务器,创建一个代码仓库用于管理PodTest
 
4.通过git服务器新建一个名字叫pod_test的Project

 
5.点击确定后,生成了一个用于管理pod_test的仓库,地址如图
 
6.打开git管理工具SourceTree,点击 +新仓库按钮,选择从URL克隆选项,将上面的仓库地址复制进去,选择好自己的目标路径和名称后点击克隆.

7.打开SourceTree关联的文件夹,将我们之前建立好的PodTest库整个全部拖进这个文件夹.
 
8.进入SourceTree,点击文件状态,将所有的改动全选后提交,再推送到git服务器.
 
9.将你需要某次修改打上一个tag,作为一个库的修改版本.
将对应某次修改点击右键标签

比如我要指定一个1.5版本,则在标签中写1.5,点击添加

效果如下,出现了一个牌子,则表明已经给这次修改打好了标签.

二.为spec仓库创建spec文件 (由于spec仓库我已创建好,找个私有库目前就只是通过git另外创建的一个空的什么都没有的目录,用来装各种私有库的podspec描述文件,和github那个作用一样,所以只需要关系怎么往里加内容)
1.创建spec文件
打开终端输入
$cd ~/
进入到根目录后输入命令创建一个名字叫xl_test.podspec的描述文件
$pod spec create xl_test
通过vim进行编辑
$vim xl_test.podspec
清空全部内容
:%d
内容清空后点击i 进入编辑模式,输入以下内容
Pod::Spec.new do |s|
s.name = "xl_test"
s.version = "1.5" #当前版本
s.summary = "xl_testa ad ha va " #描述
s.homepage = "https://github.com/goingta/MyPodDemo" #库文件主页地址
s.license = “caimao"
s.author = { "tanqilong" => "tanqilong@huobi.com" } #k开发者
s.source = { :git => "http://git.caimaodev.com/tanqilong/pod_test.git", :tag => "1.5" } #文件的git地址,以及当前版本对应的tag,这个1.5就是我刚刚标注的
s.source_files = 'PodTest/PodTest/*.{h,m}' #文件所在的目录,后面*.{h.m}是一个正则表达式,目录我下面会有解释
s.resources = 'PodTest/PodTest/*.xib' #资源文件所在的目录图片,xib等
s.framework = 'UIKit' #当前这个库所依赖的系统的库
s.platform = :ios
s.requires_arc = true #是否支持arc
end

  

 
编辑好spec后对应效果如下
注意引号"别写成了”,按ESC 输入
:wq
 回车推出vim回到终端.
我需要的资源目录如下

 
路径是已隐藏的.git为准开始拼接(PodTest.h是我临时多创建的,你不用创建)
 
2.进入终端后验证spec文件是否有效
$ pod spec lint xl_test.podspec --allow-warnings
如图
 
有passed validating则表示spec文件验证通过了
 
三.给cocoapods添加私有repo
1.终端输入
$pod repo add mypod http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git
2.查看是否添加成功
$pod repo list
如果出现
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/tanqilong/.cocoapods/repos/master mypod
- Type: git (master)
- URL: http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git
- Path: /Users/tanqilong/.cocoapods/repos/mypod

则表明添加成功,上面master是github用到的,下面mypod就是我们刚刚私有的.他们都讲用于管理描述库的spec文件

3.将xl_test.podspec文件添加到spec仓库和cocoapods
$ pod repo push mypod xl_test.podspec --allow-warnings
出现
则表明添加成功.
4.查询本地私有spec管理文件夹
$ open ~/.cocoapods/repos
会有2个文件夹,其中mypod就是我们刚刚关联上,双击打开就会看到我们刚刚加入的spec文件,以及各个版本对应的spec描述,不要轻易修改他.
 
四.引入私有库
到此我们已经部署好私有库所有的环境了,目前只需要向前一篇文章所讲的使用pod的方式引入就行了.
1.cd到前以前文章讲述时建立好的TestCocoaPods工程
$ cd ~/desktop/TestCocoaPods
2.查询是否有我们需要的私有库
$ pod search xl_test
3修改pod文件
打开TestCocoaPods工程,修改Pods文件如下
source 'https://github.com/CocoaPods/Specs.git'
source 'http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git'
platform :ios, '8.0' target 'TestCocoaPods' do
pod 'xl_test', '~> 1.5'
end
 
 
4.成功后通过终端CD到工程目录
 
5.执行
$pod install 
操作完毕,我们私有的库已经进入进去了.

CocoaPods私有库管理的更多相关文章

  1. iOS:最详细的创建CocoaPods私有库教程

    一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ...

  2. 从零开始创建CocoaPods私有库

    为什么要创建CocoaPods私有库? 避免重复的造轮子 节约时间,方便管理自己的代码 精益求精 创建CocoaPods私有库 1.创建私有仓库工程 执行命令pod lib create SmartB ...

  3. 【原+转】创建CocoaPods私有podspec

    在我的上一篇文章<iOS 手把手教你发布代码到CocoaPods>中着重介绍如何将自己的代码索引添加到公开的CocoaPods中,当你需要主动地向大众开源你的代码时需要那么做.但在现实中我 ...

  4. macOS sierra 10.12 Cocoapods 私有库

    使用Cocoapods创建私有podspec 见文章:http://www.cocoachina.com/ios/20150228/11206.html 或http://blog.wtlucky.co ...

  5. 工具第二天 cocoaPods 私有库的创建

    之前介绍了cocoaPods的安装与使用,今天简单谈一下 自己的私有库运用cocoaPods依赖. cd到需要做库的工程目录下 创建一个podspec文件 创建:pod spec create 名称 ...

  6. 通过构建Cocoapods私有库进行组件化开发探索

    专题一 一.创建私有索引库 选Github或者码云都可以,本例以Github为例.创建私有索引库用来作为自己组件库的索引: 二.本地添加私有索引库 添加:pod repo add 索引库名称 索引库地 ...

  7. Cocoapods私有库

    http://www.jianshu.com/p/d6a592d6fced 1.创建两个什么都不选的远程仓库:(私有公有都可,ReadMe\ignore都不选),一个放代码,一个放源(*.podspe ...

  8. 创建Cocoapods私有库

    本文以自己在公司做的一个手势密码私有库GesturePasswordKit为例说明. 1.在gitlab(或者github,我这里使用的例子是在gitlab上)上创建git仓库 (确保授权正确,避免后 ...

  9. CocoaPods第三方库管理 iOS

    越来越多的SVN管理,越来越多的工程文件,我不能总是那么一个一个的把第三方库拖进去,我厌倦了拖拽和配置,我找到了替代方法--CocoaPods 补充一下:最近在给新机子安装时 发现 sudo gem ...

随机推荐

  1. OWIN的概念初接触

    OWIN这个词我昨天才认识,一直疑惑它是个什么东西,通过一定量的研究,得到一个初步的认识,留个脚印. OWIN是什么 OWIN是一个规范和标准,旨在阐述web服务器和web应用应该如何去解耦,它使得原 ...

  2. eclipse 更改官方配色

    打开Eclipse,help->Install new software, 输入 http://eclipse-color-theme.github.com/update,等待就OK了. 然后w ...

  3. GithubPages + Hexo + Disqus博客教程

    文章主要描述了利用github page,hexo静态博客框架以及disqus来搭建个人静态博客的详细步骤. github page用来搭建博客的主页,hexo用来更改博客主题.发布文章等等,并通过配 ...

  4. python cookbook第三版学习笔记 一

    数据结构 假设有M个元素的列表,需要从中分解出N个对象,N<M,这会导致分解的值过多的异常.如下: record=['zhf','zhf@163.com','775-555-1212','847 ...

  5. Blockly编程:用Scratch制作游戏愤怒的小牛(小鸟)

    愤怒的小鸟曾经很热门,网上还说他是程序员最喜欢玩的游戏.最先我是WIKIOI的评测页面看到他的,后来在2014年全国信息学奥林匹克联赛第一天第三题飞扬的小鸟也看到了它.因此,突然想做一个类似愤怒的小鸟 ...

  6. Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

  7. Structured-Streaming之窗口操作

    Structured Streaming 之窗口事件时间聚合操作 Spark Streaming 中 Exactly Once 指的是: 每条数据从输入源传递到 Spark 应用程序 Exactly ...

  8. mysql数据库和mongodb数据库的相关操作以及两个数据库的区别

    在docs命令中执行数据操作 MySQL数据库 先启动MySQL服务器  net start mysql 进入MySQL服务器MySQL -uroot -p(这里写你的数据库密码) (-P是从哪个端口 ...

  9. Chapter 3. Video Coding Concepts

    本章主要介绍一些有关视频编码的概念 时域模型(Temporal Model) 时域模型的作用是去除帧间冗余.如:将第二帧减去第一帧,得到的剩余信息,其能量会远小于第二帧本身. 基于块的运动估计和补偿 ...

  10. 遇到looper之类关于消息循环的

    原因大概是因为无法创建消息循环,这时候要考虑函数是否要在主线程或者不在主线程中进行,改一下即可