美文网首页
iOS组件化之 一. 打造远程私有库(准备工作)

iOS组件化之 一. 打造远程私有库(准备工作)

作者: zwz_mistong | 来源:发表于2017-07-28 10:45 被阅读25次

    iOS组件化之 一. 打造远程私有库(准备工作)

    前提

    1. cocoapods相关操作
    1. 查看第三方框架仓库源 : pod repo
    2. 移除仓库源 : pod repo remove master
    3. 添加仓库源 : pod repo add master http://git.oschina.net/akuandev/Specs.git
    4. 初始化(下载服务器中所有第三方框架信息, 缓存到电脑本地) : pod setup
    
    2.cocoapods 重要路径
    1. 索引缓存路径 :  ~/Library/Caches/CocoaPods/
    2. pod命令安装路径 : /usr/local/bin
    3. pod 框架索引信息缓存路径: /Users/apple/.cocoapods/repos/master
    

    一. 打造远程私有库

    1. 私有Spec Repo创建
    1.  利用公司部署的gitlab(git.mistong.com)做 git仓库, 或者github, coding等等
        新建私有仓库EWTPodspec, 同时添加.gitignore,  同时在其中添加.DS_Store, 每次上传忽略掉Mac自带的.DS_Store, 以避免引起冲突...
        
    2. 把EWTPodspec当做索引库, 首先查看本地索引库 命令: pod repo 如图下图(查看本地索引库)
       有两个cocoapods 和 master 均是 pod 官方的索引库, 像AFN等开源库就是用的官方索引库,任何人都可以搜索到并下载.
       
       所以要建立自己的索引库. 
       建立连接 命令:  pod repo add EWTPodspec http://git.mistong.com/zhaoweizheng/EWTPodspec.git  如下图(建立连接)
    

    ==查看本地索引库==

    image

    ==建立连接==

    image

    至此, Spec Repo 创建完成

    2. 创建pod私有库

    以OC为开发语言, 把常用分类工具类的扩展做成一个私有库, 当然项目中要把独立模块做成私有库, 下一篇文章再详细介绍组件化的概念, 以及项目的拆分.

    1. ➜  ~ cd /Users/zwz/Desktop/mistong/EWTPodspec 在EWTPodspec目录下做本地库,比如扩展, 基类, 网络等等私有库, 
       并在gitLab上建立相应的私有库, 通pod 命令把这些私有库push到EWTPodspec索引库内, 这样就可以pod到相应的私有库.
        
      首先, 在到EWTPodspec目录下创建私有库模板 命令: pod lib create EWTBases  (图: 模板库)
      
    

    ==模板库==

    image
    2. 在模板项目目录Development Pods/EWTBases/EWTBases/Classes添加你的私有库, 此处我添加Category 和 Tool (图: 目录)
    

    ==目录==

    image
    3. 命令行切换到 Example 的目录下 cd /Users/zwz/Desktop/mistong/EWTPodspec/EWTBases/Example/ 
       执行 pod update 把私有库先添加到模板项目中. 并测试这些私有库没问题.
    
    4. 在gitLab上创建私有库EWTBases, 配置.posdspec文件(图: posdspec),  并把模板上传到EWTBases,同时设置EWTBases的版本号, 与配置文件中的版本号一致(图: 上传)
    如果是选择的Swift版本 需要在根目录下执行 : $ echo "3.0" > .swift-version  添加Swift的版本号
    

    ==图: posdspec==

    image

    ==图: 上传==

    image
    image
    5. 校验私有库是否正确: pod lib lint --allow-warnings (图: lib) 把私有库路径上传到索引库:  pod repo push EWTPodspec EWTBases.podspec (图: 上传索引库), 同时在本地   /用户/zwz/.cocoapods 目录下有EWTBases私有库的版本 (图: 路径)
    

    ==图: lib==

    image

    ==图: 上传索引库==

    image

    ==图: 路径==

    image
    6. pod search EWTBases (图: ewtbases)
       如过search 不到, 先执行 rm ~/Library/Caches/CocoaPods/search_index.json 之后再 pod search EWTBases 
    

    ==图: ewtbases==

    image

    二. 使用远程私有库

    新建项目EWTDemo, 在EWTDemo目录下初始化pod:pod init

    编写 Podfile文件, (图: podfile) 保存, 执行命令: pod install

    ==图: podfile==

    image

    使用 EWTBases

    image

    三. 创建子库

    项目中可以创建多个私有库, 但是当文件较少, 且职责相同的情况下都会放到相同的私有库中, 比如上面的创建的EWTBases, 但是当我们使用的时候, 就需要把EWTBases中所有的文件都下载下来, 其中有些我们用不到, 比如: 我们就想仅仅使用EWTBases中的 Tool. 此时就要用到子库这个概念了...

    如下图, 重新编写.podspec文件:

    image

    保存, 按照上面的步骤上传到索引库, 然后pod search 查看一下,如图会多出两个子库.. 在使用的时候直接在podfile 加入: pod EWTBases/Tool (0.1.3)就可以了

    image

    相关文章

      网友评论

          本文标题:iOS组件化之 一. 打造远程私有库(准备工作)

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