http://www.jianshu.com/p/7a82e977281c

http://www.jianshu.com/p/ddc2490bff9f

两个工程

1 代码工程

在github上创建一个空的工程,  License文件记得加上. (MIT License)

git clone到本地 或 用 sourcetree 下载到本地.

1.1 在代码工程中添加所需要代码, 并生成spec文件, 注意在sourcetree加tag.(加tag后, 要再提交一个东西, 不然这个tag找不到??)

pod spec create WeLib02

或 从其他地方复制一份过来再修改.

我们在 github 上创建一个空的仓库,命名为 WeLib02Specs ,这个仓库是用来存放我们自己所有的私有库的 spec 文件,就如同官方的 https://github.com/CocoaPods/Specs 是用来存放所有官方的 specs 文件一样。

3 提交文件后再 lint

LMXMN041:WeLib04 will.wei$ pod lib lint

-> WeLib04 (0.0.1)

WeLib04 passed validation.

4 把podspec文件push到自己的spec工程库

LMXMN041:WeLib04 will.wei$ pod repo push WeLib02Specs WeLib04.podspec

Validating spec

-> WeLib04 (0.0.1)

Updating the `WeLib02Specs' repo

Already up-to-date.

Adding the spec to the `WeLib02Specs' repo

- [Add] WeLib04 (0.0.1)

Pushing the `WeLib02Specs' repo

To https://github.com/willbin/WeLib02Specs.git

6007e90..1bd83fb  master -> master

LMXMN041:WeLib04 will.wei$

2 spec工程(有一个就行了, 多个代码工程也可以由这一个来处理)

在github上创建一个空的工程,  License文件记得加上. (MIT License)

然后把 spec弄到本地

LMXMN041:WeLib02 will.wei$ pod repo add WeLib02Specs https://github.com/willbin/WeLib02Specs.git

Cloning spec repo `WeLib02Specs` from `https://github.com/willbin/WeLib02Specs.git`

LMXMN041:WeLib02 will.wei$

然后在这个目录就能看到你的私有spec了.

4 podfile中记得添加私有库地址

LMXMN041:WeLib03 will.wei$ pod repo push WeLib02Specs WeLib03.podspec

Validating spec

-> WeLib03 (0.0.5)

Updating the `WeLib02Specs' repo

Already up-to-date.

Adding the spec to the `WeLib02Specs' repo

- [Add] WeLib03 (0.0.5)

Pushing the `WeLib02Specs' repo

To https://github.com/willbin/WeLib02Specs.git

12a9e31..310c384  master -> master

// podfile

source 'https://github.com/CocoaPods/Specs.git'        #官方仓库地址

source 'https://github.com/willbin/WeLib02Specs.git'    #私有仓库地址

inhibit_all_warnings!

target 'GroupA' do

use_frameworks!

pod 'WeLib02'

pod 'WeLib03'

pod 'WeLib04'

end

// 升级私有库 file

1:更新代码库

2:改WeLib02.podspec中的 s.version

3:提交时加tag

4:再提交一次小改动

// 1、途中遇到了几次问题,就是pod repo push不上去,显示没有找到对应文件,后来发现是版本的问题,没有打上版本号或者Podspec中版本错了。所以我们在维护一个框架时,修改框架之后,push到git服务器之后先打上tag,然后再修改podspec文件中的版本,最后push到对应的pod repo中。如果你遇到这个问题,可以详细查看第三步中的验证并推送到服务器这一节。

5:在WeLib02.podspec目录中运行

pod repo push WeLib02Specs WeLib02.podspec

6:试一下 pod search , 应该有新的版本了

// 新电脑如何搜索到私有库

库的搜索都是基于 ~/.cocoapods/repos 的,如果你的spec还没下载过来那就没法搜索到

可以先在某工程的pod file中添加私有库, pod install后, 就会出现了

// 如果 搜索不到新的pod库, 但安装 可以, 需要清理一下

Can you try removing search_index.json and run search command again? I'd be happy if you send the output of the command again.

rm ~/Library/Caches/CocoaPods/search_index.json

pod search AFNetworking

私有pod简记的更多相关文章

  1. 使用私有Pod Spec的类库--提高公司开发效率

    前言 找了这么长时间,再次开始去尝试Cocoapods了.前面已经写过一篇关于如何把自己的Github上的代码库添加Cocoapods支持.现在就让我们看一下如果搭建私有的Spec吧. 之所以构建私有 ...

  2. 如何创建私有pod三方库

    1.先登录github或者开源中国码云,创建远程仓库,用来存放库文件代码 仓库创建完成,得到远程仓库地址,并保存备用 2.创建本地代码库 打开终端,cd到你想创建的文件夹下,使用命令:pod lib ...

  3. 私有Pods封装个推SDK功能(解决方案)

    一:运用场景 公司中同时有好几个APP在开发,而且每个APP都有使用到集成个推SDK来处理消息的功能,以前的做法是每个APP都去集成并在AppDelegate处理一些SDK的代码,包含个推基础配置.消 ...

  4. iOS组件化开发一pod库包含MRC的文件处理(五)

    在做项目的过程中,建立了一个私有pod库,在这个库中存在mrc类文件这个时候如果在使用了arc的工程中引用这个pod的工程中手动设置当然也可以就是费时费力.现在我们来看看如何在私有库配置文件里配置自动 ...

  5. 创建Cocoapods私有库

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

  6. iOS关于模块化开发解决方案(纯干货)

    关于iOS模块化开发解决方案网上也有一些介绍,但真正落实在在具体的实例却很少看到,计划编写系统文章来介绍关于我对模块化解决方案的理解,里面会有包含到一些关于解耦.路由.封装.私有Pod管理等内容:并编 ...

  7. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  8. IOS开发基础知识--碎片41

    1:UIWebView加载本地的HTML NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fi ...

  9. 把自己Github上的代码添加Cocoapods支持

    转载请注明原链接:http://www.cnblogs.com/zhanggui/p/6003481.html 一.前言 这两天被cocoapods折磨的心力憔悴.看cocoapods官网的添加支持, ...

随机推荐

  1. ios开发之多线程资源争夺

    上一篇介绍了常用的多线程技术,目前开发中比较常用的是GCD,其它的熟悉即可.多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用率来提高系统的整体性能,但是会出现多个线程对同一资源 ...

  2. mysql之sql语句导入与导出讲解

    导出SQL:mysqldump -u root -p 数据库名 [表名1 表名2] > 输出地址其中表名可选 本机测试实例:

  3. iOS 沙盒购买,弹出“需要验证”,“继续登录”的问题?

    点击购买后,能弹出 确认购买的对话框, 您想以xxx的价格买一个xxx吗? [environment:sandbox] 点击确认购买后,弹出"需要验证" 点击继续,输入密码后.竟然 ...

  4. 【redis】04set类型和zset类型

    sets类型   sets类型及操作   Set类型是一个集合,他是string类型的无序集合,也就是说咱们的set是没有顺序的, Set是通过hash table实现的,添加.删除和查找的复杂度都是 ...

  5. 使用Flexible实现手淘H5页面的终端适配【转】

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...

  6. 【转载】Eclipse自动编译问题

    今天调试的时候发现问题:调试的时候竟然在我注释的里面走,当时那个郁闷啊,每次都要clean下才可以,晚上感觉不对劲,上网查了查,原来是bulid automatically这个我把勾去掉了,下面是原文 ...

  7. mysql的学习记录

    1 MySQL -h localhost -u UserName -p Password-h不写,默认为localhost注意:最好先MySQL -h localhost -u UserName -p ...

  8. JavaWeb项目开发案例精粹-第3章在线考试系统-006实体层

    1. package com.sanqing.po; /* * 学生表,保存学生编号,系统密码 */ public class Student { private String studentID; ...

  9. SendMessage、PostMessage原理

    SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别 ...

  10. java:线程的简单控制方法

    中断线程方法 休眠:sleep(); 主动让出cpu:yield(); 设置线程优先级: 取值:getPriority(); 设置:setPriority(..); MAX_PRIORITY最大优先级 ...