美文网首页
CocoaPods开源库和私有库实战记录

CocoaPods开源库和私有库实战记录

作者: CodingTom | 来源:发表于2018-03-28 19:57 被阅读16次

    Podfile文件的编写

    platform :ios, '6.0'
    
        pod 'LocalPod', :path =>'~/Project/CodingTom/Cartfile'
    
        pod 'ObjectiveSugar', '~> 0.5'
        
        pod 'Objection', '0.9'
        
        pod 'PonyDebugger', :configurations => ['Release', 'App Store']
    
        pod 'QueryKit', :subspecs => ['Attribute', 'QuerySet']
    
        pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git'
    
    target :test do
    
        pod 'OCMock', '~> 2.0.1'
    
    end
    

    凡是做iOS开发的,应该没人不知道CocoaPods吧,它大大提高了我们的引入开源库的效率,可以很方便就获取到我们需要的第三方类库,节省了很多时间。相信大家对使用Pods库已经非常熟悉,不过今天我们主要讲讲如何在项目中制作开源库和私有Pods库。

    我们平时用的最多的命令

    pod install
    pod update
    

    有时候会很慢,我们往往喜欢在后面加个参数,变成

    pod install --no-repo-update
    

    意思是不需要更新repo库,这里的repo库指的是CocoaPods官方索引库( https://github.com/CocoaPods/Specs.git ),这个库记录了所有被CocoaPods官方收录的第三方类库,我们在使用CocoaPods时,会自动clone这个库到本地(~/.cocoapods/repos/master)。
    以后每次 pod install 时会检查本地repo库需不需要更新,如果不需要,便会在本地repo库中获取第三方库的信息,进行配置,而这个库很大,更新需要很久,所以我们一般喜欢加上一句 --no-repo-update

    下面我们进入正题

    CocoaPod库与通用开源库的区别

    一个CocoaPod库和一个通用的开放源码库都开源自己的源代码,但CocoaPod库最主要的特点是有 podspec 文件 和 LICENSE,CocoaPod不接受没有代码许可证的库。

    CocoaPods开源库项目实践

    CocoaPods库的从制作到使用主要有以下几个步骤:

    • 创建Spec Repo

    创建 pod lib 项目

    pod lib create ProjectName
    
    • 开发代码和测试代码

    创建完成后编写代码

    修改 podspec 中的 s.source 为自己GitHub库的地址

    把代码 push 到 GitHub 网站上,为代码添加Tag(podspec中的s.version和tag保持一致)。

    • 发布CocoaPods库

    之前的开发和测试就绪后,就要准备发布库了.

    首先要检测Podspec的正确性

    pod lib lint 或者 pod spec lint 
    

    pod lib lint 不会连接网络,而是检查本地项目配置是否正确

    pod spec lint 会读取线上的repo并检查相应的tag

    以后发布库版本

    pod trunk push NAME.podspec
    

    什么是Private Spec Repo

    CocoaPods最核心的功能是类库管理,我们平时用的最多的是管理公共类库,说到这你也许已经猜到了,对,它也支持管理非公开的类库。现在大点的iOS项目,代码行数千千万,很多业务模块或者工具类都是相对独立的,可以以独立类库的方式集成进项目中,但是因为种种原因,这些代码不能公开放到GitHub上,只能放在公司服务器上,这时候就需要Private Spec Repo上场了。简而言之它是一个私有的repo库,功能和官方的repo库一样,唯一的区别是它放在自己公司的服务器上,只有本公司的人可以访问,它维护着公司内部私有类库的索引。

    CocoaPods私有库项目实践

    私有库的从制作到使用主要有以下几个步骤:

    • 创建Private Spec Repo

    首先在公司服务器上创建一个仓库然后将服务器中的仓库与本地 pod repo 关联:
    pod repo add [Private Repo Name][GitHub HTTPS clone URL]

        pod repo add REPO_NAME SOURCE_URL
    
    pod repo add privateRepo http://公司服务器地址/privateRepo.git 
    

    备注:此处privateRepo名可以随便取,只是取在你本地的一个命名,作为与远端相关联的一个名称。

    • 创建pod lib项目,并修改podspec文件

    创建 pod lib 项目

    pod lib create ProjectName
    

    通过 pod lib create 创建一个pod,分析创建流程
    当执行pod lib create ProjectName时,其实是下载了一个pod模板,然后在内部通过更改.podspec文件的配置定制化自己的pod,pod lib create ProjectName其实使用了默认参数,补全的话 pod lib create ProjectName --template-url=https://github.com/CocoaPods/pod-template.git

    我们也可以自定义模板

    pod lib create ProjectName --template-url=你自己模板的URL
    

    修改 podspec 中的 s.source 为自己私有库的地址

    s.source = { :git => 'https://gitlab.name.com/project_name.git' }
    
    • 发布私有库

    之前的开发和测试就绪后,就要准备发布私有库了.

    首先要检测Podspec的正确性

    pod lib lint 或者 pod spec lint 
    

    pod lib lint 不会连接网络,而是检查本地项目配置是否正确

    pod spec lint 会读取线上的repo并检查相应的tag

    以后发布版本

    pod repo push REPO_NAME SPEC_NAME.podspec --verbose
    

    参考文件

    making-a-cocoapod

    using-pod-lib-create

    private-cocoapods guides

    相关文章

      网友评论

          本文标题:CocoaPods开源库和私有库实战记录

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