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. 【BZOJ】【2194】快速傅里叶之二

    FFT c[k]=sigma a[i]*b[i-k] 这个形式不好搞…… 而我们熟悉的卷积的形式是这样的 c[k]=sigma a[i]*b[k-i]也就是[下标之和是定值] 所以我们将a数组反转一下 ...

  2. 【Asp.Net-- 杂七杂八】的代码

    Request.Url.PathAndQuery public RedirectResult AddToCart(Cart cart, int productId, string returnUrl) ...

  3. UNIX command Questions Answers asked in Interview

    UNIX or Linux operating system has become default Server operating system and for whichever programm ...

  4. Struts2从版本2.2.1升级至2.3.15.1出现的问题

    问题一 原版本Struts2.2.1中的JSP代码如下: <a class="buttonSelect" href="/manage/machine/uploadF ...

  5. .NET复习笔记

    .NET 基础知识点汇总 课前知识储备. 一.C#与.NET的区别? 1..NET/dotnet:一般指.Net Framework框架,一种平台,一种技术 2.C#(sharp):一种编程语言,可以 ...

  6. lintcode 中等题:find the missing number 寻找缺失的数

    题目 寻找缺失的数 给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数. 样例 N = 4 且序列为 [0, 1, 3] 时,缺失的数为2. 注意 可以改变序 ...

  7. *[topcoder]PalindromicSubstringsDiv2

    http://community.topcoder.com/stat?c=problem_statement&pm=12967 计算一个字符串里Palindrome的数量.我的DP方法需要n^ ...

  8. Sina App Engine(SAE)入门教程(9)- SaeMail(邮件)使用

    参考资料: SAE mail api 文档 怎么使用? 参见代码: <?php $mail = new SaeMail(); $f = new SaeFetchurl(); $img_data ...

  9. CreateTwoArray

    public class CreateTwoArray{ public static void main(String []args){ int[][]arr=new int [2][3]; Syst ...

  10. 微信开发之——Php批量生成带参数的二维码

    带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个接口,那下面就来研究一下吧. 具体接口说明请参见,微信公众平 ...