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

作者: 这个汤圆没有馅 | 来源:发表于2017-06-23 16:04 被阅读37次

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

    ⅰ.远程私有库演示

    ⅱ.远程私有库升级+优化(本篇)

    铺垫:本篇中的一些文件命名在ⅰ.篇中都有说明,若看不懂可移步上篇一一对应上。拷贝一份.篇中的TnagyuanBase和TangyuanProject,现在要把另外两个工具类集成过去。分别是网络工具和宏定义。目录结构如下👇

    铺垫

    同样的,在Classes文件夹下拖入需要集成的两个类。

    cd 进入example,pod install一下,就可以看到👇红框中已经集成过来了。

    But!!这个时候是编译不过的,为什么呢?因为我们的网络工具依赖了AFNetworking这个库,所以还在要spec文件里添加对AFNetworking的依赖。

    再次pod install,可以在终端看到安装AFNetworking3.1.0版本

    这个时候再回到example工程编译,发现success了。OK,接下来要把所有的改动都提交到git上。每一次的提交都需要打标签,意味着一个新的版本,spec里的version要记得改。

    git add .

    git commit -m 'x'

    git push origin master

    git tag 'x.x.x'

    git push --tags

    提交完后,要向本地私有索引库TangyuanSpecs上传spec文件,先lint验证一下。

    pod spec lint --allow-warnings

    pod repo push TangyuanSpecs(私有库名) TangyuanBase.podspec(spec名)

    这里有一个问题,一般的警告其实是不影响的,只要加----allow-warnings即可。而我这边验证是通过的,但是pod repo push的时候就报了error--->【[!] The `TangyuanBase.podspec` specification does not validate.】集成的AFNetworking是最新版的,而我封装的方法有些已经废弃了,只要换成最新的方法就行。倒腾了很久,把Enum.h也删了,最后成功的版本是0.5.0,惭愧惭愧~~

    最后一步,进入TangyuanProject,更新一下podfile

    pod update —no-repo-update

    工程目录pods下,最新的代码都已经集成进来了,同时也把依赖库AFNetworking集成进来了


    优化


    👆上面我们看到,pod会把TangyuanBase下的所有代码都集成过来了,而且都在同一个文件夹。如果我现在只需要用到NetworkTool,整个TangyuanBase集成过来有点冗余。那现在来个优化。先看下AFNetorking,它包含了5个子库。

    pod search AFN

    新建一个AFN+test工程,pod init,然后来编辑一下podfile,这里我们只集成其中两个子库

    AFN+test的podfile

    pod install一下,就能看到工程目录只集成了AFN的其中的两个子库

    Ok,那我们现在开始给TangyuanBase库框架做子库。

    ・先打开TangyuanBase的example工程的podspec文件

    example的podspec

    ・按照👇图标格式编写子库,格式要注意

    编写子库

    ・提交到git,标签!标签!标签! 重要的事情说三遍

    git add .

    git commit -m 'xx'

    git push origin master

    git tag 'x.x.x'

    git push --tags

    ・然后验证spec,上传到本地的私有索引库

    pod spec lint --allow-warnings

    pod repo push TangyuanSpecs(私有库名) TangyuanBase.podspec(spec名)

    ・上传成功后,pod search一下,就能看到子库

    pod search

    后续的导入私有库子库的步骤跟上面导入AFN子库的步骤一样,这里就不重复了,但别忘了加上私有库的url地址。

    文采不够,全靠图来凑🙈

    相关文章

      网友评论

      • 灰s:全部看了一遍,虽然没看懂,不过有个大概的了解了,准备自己动手试一下。
        灰s:@TangyuanLiu :smile:
        这个汤圆没有馅:@灰s 啊哈 动手撸一把后就很好理解了 其实很简单

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

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