美文网首页
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开源库的搭建

    前言 如果你看了我之前写的文章《CocoaPods私有库的搭建》,而且有过实战,你会发现《CocoaPods开源库...

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

    Podfile文件的编写 凡是做iOS开发的,应该没人不知道CocoaPods吧,它大大提高了我们的引入开源库的效...

  • CocoaPods管理私有库

    CocoaPods管理私有库 CocoaPods介绍 CocoaPods是帮助管理xcode项目第三方开源库的一个...

  • pod私有库

    接着上两篇文章CocoaPods公有库和CocoaPods本地私有库,这篇就来讲解下CocoaPods远程私有库,...

  • CocoaPods创建自己的开源库和私有库

    通过CocoaPods创建开源库、私有库,最关键的是*.podspec的编写。如果电脑上还未安装CocoaPods...

  • 制作CocoaPods

    iOS管理第三方库大多使用CocoaPods,如果需要实现组件化或者发布自己的开源库/私有库到CocoaPods,...

  • 制作 CocoaPods 开源库

    CocoaPods 开源库的制作过程: 添加私有Pod仓库,用来存储私有Pod库的podspec文件,类似Coco...

  • CocoaPods使用总结

    CocoaPods 公共库的创建CocoaPods 本地私有库的创建(模板创建方式)CocoaPods 本地私有库...

  • Pod搭建开源库小结

    1./Users/xxx/.cocoapods/repos 不管是搭建私有库还是开源库,这个路径下版本库repos...

  • CocoaPods 的介绍、安装、使用和原理

    CocoaPods 私有库教程已更新,如有需要请移驾 CocoaPods 私有库 step by step - 简...

网友评论

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

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