CocoaPods远程私有库

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

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

       私有索引库Spec Repo可以这样理解,公有索引库就是存放在CocoaPods的远程仓库且是公开的,大家都可以用到的,安装CocoaPods的时候已经自动添加索引repo到本地了,其中master就是CocoaPods公有的索引repo。所以自己要创建一个私有的远程仓库存放索引库并把索引repo添加到本地,这样就不是公开的了,是自己私有的。如图所示:

        代码托管除了GitHub还有码云coding,GitHub的私有项目时要钱的,其他两个是免费的,我这里就用码云来创建私有索引库,创建点击右上角的+选择新建项目,如图所示:

       创建私有索引库完成后,使用命令 “pod repo add  repo的名(如CocoaPods自带的master)  码云项目spec的地址 ”  来创建本地spec库,这里码云项目spec的地址有https和ssh,如果用https的话,别人要用到你的库就要给密码他,这样不方便,ssh不需要输入密码,但第一次的配置的话要配置公钥。

      如果没有配置好公钥,执行创建本地spec库就报没有权限的错误,如图:

        然后就是生成ssh公钥,通过命令 $ ssh-keygen 来生成ssh公钥,通过提示操作输入保存的密码,我这就不演示了,我之前已经生成过,进入.ssh的路径,用xcode打开id_rsa.pub文件,复制内容。

    把复制好的ssh-rsa填到码云的ssh公钥,如图所示:

        码云配置好ssh的公钥后,在用命令执行生成本地spec库,结果通过了,然后在repos看到多了一个remoteLib的文件就证明成功了。

用到的命令:

    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私有库所需要的项目工程文件

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

    clone到本地桌面

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

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

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

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

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

       有了本地私有库项目后,我们要的是远程私有库,所以要修改.podspec文件并且上传库到仓库。修改.podspec文件这里不多说,详情请看CocoaPods公有库,这一步可以在上传到仓库之后再修改也可以,我这里就先修改了,直接上图,

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

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

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

    $ git add . ;  

    $ git commit -m “XX”  ; 

    $ git push。

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

    $ git tag '0.1.0' ;

    $ git push --tags;

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

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

        这里就不详细说明了,请看CocoaPods公有库,我就直接操作上图,这里要详说的是,我直接用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公有库

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

用到的命令:

    $ 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地址也添加上。如图所示:

填写完之后就通过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   //查询库


写了好久,希望能帮到您,喜欢点个赞呗!!!

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

推荐阅读更多精彩内容