美文网首页iOS之开发配置iOS Developer
iOS--本地私有库和远程私有库(三) --- ⅰ

iOS--本地私有库和远程私有库(三) --- ⅰ

作者: 这个汤圆没有馅 | 来源:发表于2017-06-22 11:30 被阅读24次

    (三)敲重点!!远程私有库来了!

    ⅰ.远程私有库演示(本篇)

    ⅱ.远程私有库升级+优化

    铺垫一:Category文件夹,含有UIView+Category.h 和 UIView+Category.m,也就是需要集成的代码。

    铺垫二:在码云上创建两个项目,一个存放自己的私有索引库集TangyuanSpecs,对应地址1;一个管理某个部分的框架代码TangyuanBase,对应地址2。这里要注意的是,创建TangyuanBase时不要初始化READEME文件,下面创lib的时候会包含,不然提交的时候会报冲突。

    大概的思路

    在cocoapods下,可以看到一开始只有master一个索引库

    1

    我们把自己的私有库集添加进来,然后会发现repo下多了一个索引库

    pod repo add TangyuanSpecs 地址1

    2

    创建一个TangyuanBaseLib空文件夹,在里面创建TangyuanBase的lib

    创建lib文件

    创建完后可以看到下图👇的文件目录,TangyuanBase里包含了spec文件、example测试工程及上面提到的READEME文件

    TangyuanBase文件目录

    找到Classes下的ReplaceMe文件,删掉,并把Category文件拖进来,如下图👇

    这里的Classes修改同时example工程里的podfile也会更新,别忘了pod insatll

    打开example工程,可以看到Category已经被集成过来了。

    example工程

    找到example工程里的podsepc文件进行修改

    s.name        = "名字" (ps:一般不用改)

    s.version      = “0.1.0"    ( ps:版本号这个比较重要,打标签的时候要注意,这里默认是0.1.0)

    s.summary      = “TangyuanLib."    (ps:描述可以随便写)

    s.description  = "detail description,must be longer than s.summary”  (ps:详细描述,字数一定要超过summary)

    s.homepage    = “xxxxxx"  (ps: TangyuanBase码云上的主页地址)

    s.source      = { :git => "https://xxxxxx.git", :tag => "#{s.version}" }  ( ps: 码云上的地址,也就是地址2)

    好了,修改完后,现在要把TangyuanBase整个文件夹都上传到码云上

    pod lib lint  (ps:先验证lib文件,通过后再git上传) 

    git add .

    git commit -m 'x'

    git remote add origin 地址2

    git push -u origin master 

    打标签,一定要和spec里的version保持一致

    git tag '0.1.0'

    git push --tags

    接下来,就要把spec文件上传到自己的私有库集

    pod spec lint --allow-warnings

    pod repo push TangyuanSpec(私有库集名) TangyuanBase.podspec(要上传的spec) 

    上传到私有库集

    然后我们可以看到cocoapods/repo/TangyuanSpecs下已经有0.1.0版本的TangyuanBase的spec文件

    pod search,完美🤗

    新建一个工程,pod init,编写podfile文件,默认的pod是从master索引库里找,我们这边是私有索引库,所以在上面要加上这个库的source地址

    接着pod install,如果报了错误 [!] An unexpected version directory `Assets` was encountered for the `/Users/tangyuan/.cocoapods/repos/oschina-tangyuanliu-tangyuanbase/TangyuanBase` Pod in the `TangyuanBase` repository.    那就把地址直接跟在pod后面

    接着就能在工程里看到Category里的代码已经集成过来了

    这个时候如果你要集成其他的一些公有库,如AFNetworking等,在Podfile文件还得加一句master的source地址,不然在私有库里找AFNetworking是找不到的

            远程私有库的创建使用过程大致上就这些,由于涉及到的名词比较多,文章里我直接用具体的文件名字代替,大家一一对应上即可。

    文采不够,全靠图来凑🙈

    相关文章

      网友评论

        本文标题:iOS--本地私有库和远程私有库(三) --- ⅰ

        本文链接:https://www.haomeiwen.com/subject/zqftcxtx.html