pod私有库

接着上两篇文章CocoaPods公有库CocoaPods本地私有库,这篇就来讲解下CocoaPods远程私有库,啥叫CocoaPods远程私有库?CocoaPods远程私有库就是库存在远程仓库,权限归自己管理,不是公开的,但可以通过source地址给伙伴们获取自己的私有库。公司需求要用CocoaPods管理模块开发,一般都是做远程私有库,公司的代码不能公开。

一、创建私有索引库(Spec Repo)

   私有索引库Spec Repo可以这样理解,公有索引库就是存放在CocoaPods的远程仓库且是公开的,大家都可以用到的,安装CocoaPods的时候已经自动添加索引repo到本地了,其中master就是CocoaPods公有的索引repo。所以自己要创建一个私有的远程仓库存放索引库并把索引repo添加到本地,这样就不是公开的了,是自己私有的。如图所示:
image
image
    代码托管除了[GitHub](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com)还有[码云](https://links.jianshu.com/go?to=https%3A%2F%2Fgitee.com)和[coding](https://links.jianshu.com/go?to=https%3A%2F%2Fcoding.net),GitHub的私有项目时要钱的,其他两个是免费的,我这里就用[码云](https://links.jianshu.com/go?to=https%3A%2F%2Fgitee.com%2F)来创建私有索引库,创建点击右上角的+选择新建项目,如图所示:
image
   创建私有索引库完成后,使用命令 “pod repo add  repo的名(如CocoaPods自带的master)  码云项目spec的地址 ”  来创建本地spec库,这里码云项目spec的地址有https和ssh,如果用https的话,别人要用到你的库就要给密码他,这样不方便,ssh不需要输入密码,但第一次的配置的话要配置公钥。

  如果没有配置好公钥,执行创建本地spec库就报没有权限的错误,如图:
image
    然后就是生成ssh公钥,通过命令 $ ssh-keygen 来生成ssh公钥,通过提示操作输入保存的密码,我这就不演示了,我之前已经生成过,进入.ssh的路径,用xcode打开id_rsa.pub文件,复制内容。
image
image
把复制好的ssh-rsa填到码云的ssh公钥,如图所示:
image
    码云配置好ssh的公钥后,在用命令执行生成本地spec库,结果通过了,然后在repos看到多了一个remoteLib的文件就证明成功了。
image
image

用到的命令:

**pod repo   //查询有多少本地repo**

** ssh-keygen //生成ssh公钥**

** pod repo add remoteLib git@gitee.com:vxchj/RemoteLibSpec.git //remoteLib是repo保存的名字 //git@gitee.com:vxchj/RemoteLibSpec.git是在码云创建私有索引库的地址 **

二、创建Pod私有库所需要的项目工程文件

这里就不详细讲解创建私有项目了,大家用过的应该都知道,直接上图展示。
image
clone到本地桌面
image

三、通过CocoPods的官方命令创建Pod项目工程

   这也是在桌面创建pod项目工程,使用命令创建Pod项目工程文件 $ pod lib create RemoteLibQiuyh ,RemoteLibQiuyh是工程名,然后等待一下会出现很多选择,按照提示选择输入就OK,下载完就会自动打开工程。
image

打开刚刚下载好的工程,把自己要做的库放进去,然后删除多余的ReplaceMe.m文件,如图所示:

image
image
    替换好要上传的库之后,cd到项目中的Example,执行 $ pod install 安装本地库,看能不能安装成功,如图:这时候项目就相当于本地私有库项目了。
image
image

四、pod项目关联远程私有仓库、修改.podspec文件和上传远程仓库

   有了本地私有库项目后,我们要的是远程私有库,所以要修改.podspec文件并且上传库到仓库。修改.podspec文件这里不多说,详情请看[CocoaPods公有库](https://www.jianshu.com/p/1aa1ddcb4e4f),这一步可以在上传到仓库之后再修改也可以,我这里就先修改了,直接上图,
image

刚才第二步骤已经创建远程仓库了,也clone到本地了,把通过pod命令生成的pod项目的.git文件替换成远程私有仓库的.git,这样就关联远程仓库了。

image

替换成.git文件关联远程私有仓库后,就是上传到远程仓库,详细步骤我就不细说了,CocoaPods公有库有说明

配置好.podspec文件,接着就是把代码上传到远程仓库,通过

**$ git add . ; **

** $ git commit -m “XX” ; **

** $ git push。**

打tag,打的tag一定要对应版本号,因为.podspec文件配置已经写好跟版本号一样的,通过

$ git tag '0.1.0' ;

** $ git push --tags;**

上传成功之后仓库就有源代码和打tag了

image
image

五、验证pod是否能通过和提交pod

    这里就不详细说明了,请看[CocoaPods公有库](https://www.jianshu.com/p/1aa1ddcb4e4f),我就直接操作上图,这里要详说的是,我直接用pod spec lint --allow-warnings来验证,--allow-warnings是忽略警告,然后就是提交到spec repo,通过命令pod repo push remoteLib RemoteLibQiuyh.podspec ,remoteLib是之前生成的本地repo名,可以进入repos查看,或者直接命令 pod repo查看,RemoteLibQiuyh.podspec就是你笨项目的.podspec文件,如图所示就是通过验证并且提交成功。(**注:如果没有改命令就要注册CocoaPods账号,详情请看[CocoaPods公有库](https://www.jianshu.com/p/1aa1ddcb4e4f)**)
image
image

提交pod成功后搜索一下看能不能搜索到,通过命令pod search RemoteLibQiuyh搜索,结果可以搜索的到,那证明制作完成。

image

用到的命令:

** $ pod repo //查询repo**

** $ pod spec lint --allow-warnings //远程本地pod验证**

** $ pod repo push remoteLib RemoteLibQiuyh.podspec //提交pod到自己的私有索引库,remoteLib是之前生成的本地repo名**

** $ pod search RemoteLibQiuyh //查询库**

六、如何使用

    这不知你自己个人使用,还要整个团队使用,那么怎样使用呢,直接按照正常的逻辑直接在Podfile文件填写pod 'RemoteLibQiuyh', '~> 0.1.0',然后pod install安装??那当然不行了,所谓的私有库就是不能所有的能都能用,只有你给谁用谁就可以用。

    首先在在Podfile文件填写source '私有索引库的地址',官方的CocoaPods地址就是source 'https://github.com/CocoaPods/Specs.git',这时候你要填写你对应的地址,可以用个pod repo 查看。如果要用到其他CocoaPods的第三方库就要把官方的CocoaPods地址也添加上。如图所示:
image
image

填写完之后就通过pod install安装。

注意:如果是队友的话,直接这样安装时会报错的,说没有什么权限的,那是没有在自己的git账号设置中安装ssh公钥,其安装方法跟步骤一一样的,生成添加到账号中的ssh公钥,然后在pod install安装就OK了。

七、版本更新

版本更新跟之前的步骤差不多,这就简单说一下步骤:

1.修改.podspec文件中的版本号;

    **s.version      = "0.1.1" //修改0.1.1版本,不能是之前的版本,要不提交不成功**

2.上传到远程仓库;

    **$ git add . ;  **

**$ git commit -m “XX”  ; **

**$ git push。**

3.打tag并上传;

    **$ git tag '0.1.1' ;**

** $ git push --tags;**

** 4.验证pod并提交到pod。**

   **$ pod repo    //查询repo**

** $ pod spec lint --allow-warnings    //远程本地pod验证**

** $ pod repo push remoteLib RemoteLibQiuyh.podspec   //提交pod到自己的私有索引库,remoteLib是之前生成的本地**    **repo名**

**$ pod search RemoteLibQiuyh   //查询库**

作者:槐_df85
链接:https://www.jianshu.com/p/b65d51c851b1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容