zoukankan      html  css  js  c++  java
  • 使用私有Pod Spec的类库--提高公司开发效率

    前言

    找了这么长时间,再次开始去尝试Cocoapods了。前面已经写过一篇关于如何把自己的Github上的代码库添加Cocoapods支持,如果没有看,强烈建议先看一下那篇,看完之后再继续此文。现在就让我们看一下如果搭建私有的Spec吧。
    之所以构建私有Spec,是因为公司的好多东西都是通用的,有的时候也许其他的项目中也要用到,所以最好的方式就是把它构建成库,直接
    pod install
    就能构建到项目中来。但是按照前面说的显然是不行的,如果直接放到https://github.com/CocoaPods/Specs.git 上,那么所有人都能下载,很显然是不行的,因为有的代码是公司的机密,所以上面博客中提到的方法显然不能满足要求。这个时候搭建私有Spec就显得很有必要了。
    首先,请确保你知道如何去把自己的Github上的代码库添加Cocoapods支持。因为搭建私有Spec和上述博客上的内容大同小异,但是又有很大差异。

    开始

    这里将从最初的开始进行介绍,包括在公司gitlab上构建项目,然后到最后的其他公司项目中使用Cocoapods引入自己构建的库。
    步骤如下:
    1、创建私有的Spec Repo
    2、将私有Spec Repo关联到本地
    3、构建自己在公司内部共享的库
    4、把要共享的库添加到私有Spec Repo中
    5、成功完成,开始使用

    1创建私有的Spec Repo

    打开公司的gitlab地址(这里以gitlab为例),然后创建一个新的Project,并命名为XXSpecs。(建议可以使用公司前缀做标示)。这个就类似于CocoaPods的Specs,只不过这个是在自己公司git上搭建的一个仓库。这个步骤应该不难,如果有问题的可以参考一下上一篇博客

    2 将私有Spec Repo关联到本地

    打开终端,输入命令行:
    pod repo add [本地Spec Repo名称][远程Spec Repo地址]

    例如我的:
    pod repo add MySpecs https://xxxxxxxxxxx/zhanggui/MySpecs.git
    这里的xxxxxxx就是自己公司的git地址。
    此时跳转到文件夹:repos。就是:
    ~/.cocoapods/repos/
    你就会发现除了有一个master,还有就是你自己的MySpecs:
    91B62B90-32E1-49F7-B17F-5CFB8D57DC5E.png
    然后切换到自己构建的私有Spec:
    cd ~/.cocoapods/repos/[本地Spec Repo名称]
    例如我的:
    cd ~/.cocoapods/repos/MySpecs
    然后执行:
    pod repo lint
    执行完之后,就完成了第二步。(这里执行这个命令后,我终端显示-----------------,好多,然后执行完了就行了,貌似时间有点长,请耐心等待)。

    3 构建自己在公司内部共享的库

    这里就是你将自己需要共享的库先在自己公司gitlab上创建工程,然后将这个工程目录下创建 .podspec(注意修改该文件里面的信息,不会可以参考上篇博客)。并且校验是否通过。通过之后将代码提交到gitlab。
    ok,第三步完成。

    4 把要共享的库添加到私有Spec Repo中

    首先,这里你先到你要共享的工程的gitlab上添加一个Tags,记得版本号和podspec里面的版本号一致(这里很重要)。
    更简单的完成第四步(一定要确保第三步的验证通过),执行命令:
    pod repo push [本地Spec Repo名称][podspec文件路径] --allow-warnings
    例如我的:
    pod repo push MySpecs ~/zhanggui/MyTools.podspec --allow-warnings
    成功之后应该是这样的:
    6B0CD8D3-02A6-49E8-BBDA-33758B456759.png
    这样你就可以在你的MySpecs文件夹下看到自己的MyTools了。应该是这样:
    01B3CBCE-1CC7-456B-8BC8-5266926EB708.png
    ok,第四步就完成了。

    成功完成,开始使用

    和原来的常规的使用cocoapods一样,只不过有点小区别,你需要在Podfile里面添加以下两句代码:
    source 'http://xxxxxxxxxxx/zhanggui/MySpecs.git'
    source 'https://github.com/CocoaPods/Specs.git'
    这里就是告诉pod install的时候查找的库来自公共库和私有库。例如我的Podfile:
    source 'http://xxxxxxxxxxx/zhanggui/MySpecs.git
    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks!
    target 'MyDemo' do
    pod 'Toast'
    pod 'MyTools'
    end
    接下来就可以使用了。

    三、总结

    百度、Google了多篇文档,然后进行总结,终于实现构建公司私有Cocoapods库。极大地方便了代码的复用性。
    如果问题,请加QQ群沟通: 206613455

    四、参考文档

    1、http://devhy.com/2016/07/12/10-private-cocoapods-spec-steps/

  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/zhanggui/p/6020519.html
Copyright © 2011-2022 走看看