首页 > 代码库 > 使用CocoaPods建立私有仓库

使用CocoaPods建立私有仓库

~/.cocoapods/repos

 

公司的项目正准备组件化开发,最近研究了一下CocoaPods建立私有仓库,分享一下

先屡一下思路

大致分为以下几步:

  1. 本地建立一个索引库Spec Repo,映射到远程仓库(将来使用该仓库里面的.podspec文件定位到相应的代码)
  2. 创建pod工程(实现具体的组件代码)
  3. 生成spec文件
  4. 向本地的Spec Repo提交spec文件
  5. pod新的文件

<1>.本地创建索引库                                                                                                                                           

官方的pod其实就是一个仓库里面放了很多开源的Spec Repo(关于如何创建cocoapods这里就不做说明了)假设你已经安装好了cocoapods  当cd 到~/.cocoapods/repos可发现如下截图那个master中就是官方的Spec Repo所在

技术分享

 

看到这个目录之后我们要做的第一步就是在repos目录下建立属于自己的私有Spec Repo用来管理我们的代码

 

在终端运行

#pod repo add [本地repos的名称] [远程仓库的地址,这里可以用开源中国的,公司自己的代码管理平台地址等等]
$ pod repo add DemoSpec  https://XXX.git

运行完上面的代码重新cd 到~/.cocoapods/repos可以发现刚刚建立的文件以及可以看到了

技术分享

看你这个说明本地的私有Spec Repo已经搭建好了

<2>创建pod工程                                                                                                                                          

这里没什么好说的,就是自己本地找个目录创建一个新的工程,可以使用pod的,有旧的项目的话更简单了(这里不做过多的讲解)

<3>生成spec文件                                                                                                                                        

cd到第二步建好的工程下运行如下命令

#$ pod spec create [项目sepc的名字] [代码的远程仓库的地址和第一步的地址不一定要一样,如果不一样的话如果有多个项目的话可以共用一个soure]
$ pod spec create PodTestSpec https://xxx.git

成功以后会看到

 Pod::Spec.new do |s|

 

  s.name         = "PodTestSepec" #podsepc名称

  s.version      = "1.0.0"#版本号

  s.summary      = "year descr."#框架的妙手

  s.homepage     = "https://www.baidu.com"#写你主页的地址  这里是我随意写的

  s.license      = "MIT"  #通行证

  s.author             = { "fangshufeng" => "1039640335@qq.com" }

    s.platform     = :ios, "7.0"

  s.source       = { :git => "地址二", :tag => "1.0.0" }#地址二写的就是步骤3写的地址 tag是版本号

  s.source_files  = "podTest/**/*.{h,m}"#文件的目录

   s.resource  = "podTest/podTest.bundle"#文件的资源 包括图片什么的

   s.requires_arc = true

end

此时可以push本地的代码到远程的仓库一次了 记得打一个tag号

cd 到建好的工程下验证一下写好的spec文件

pod lib lint

验证通过后继续往下

<4>向本地的Spec Repo提交spec文件                                                                                                                                                         

$ pod repo push DemoSpec PodTestSpec.podspec  #前面是本地Repo名字 后面是podspec名字

完成之后这个组件库就添加到我们的私有Spec Repo中了,可以进入到~/.cocoapods/repos/DemoSpec目录下查看

├── LICENSE
├── DemoSpex
│   └── 1.0.0
│       └── PodTestSepc.podspec
└── README.md

再search命令查看

$ pod search PodTestSpec
 
-> PodTestSpec (0.1.0)
   year descr.
   pod ‘PodTestSpec‘, ‘~> 1.0.0‘
   - Homepage: https://www.baidu.com
   - Source:   地址二
   - Versions: 1.0.0 [DemoSpec repo]

到此我们的私有pod以及制作好了 

<5>pod的使用                                                                                                                                                         

另外新建一个工程

在podfile中加入

# Uncomment the next line to define a global platform for your project

source "地址一"
 platform :ios, ‘7.0‘

target ‘hh‘ do
  # Uncomment the next line if you‘re using Swift or would like to use dynamic frameworks
  # use_frameworks!

  pod ‘PodTestSpec‘, ‘~> 1.0.0‘
  
end

好的 到此一个私有的pod弄完了

 

使用CocoaPods建立私有仓库