cocoapods私有库创建

前言:距离上一篇cocoapods公有库创建已经有了5个多月了,当初说好下一篇讲私有库创建也是拖到了现在,实在是懒癌又犯了。最近因为项目到了一定的阶段,需要部分重构就想到了,补上一篇未完成的文章,谁出去的牛还是要还的。。。

步骤:

一:创建一个私有的Spec repo
1.在github,gitlab,oschina上创建一个repo用来管理私有库的sepc文件(这里我选择了oschina平台,项目文件夹取名:FSSpces)
    

 

2.添加自己管理.podspec文件的仓库
      pod repo add FSSpechttps:gitee.com/xxxx/FSSpces.git
 (FSSpces是你创建的项目名, https:gitee.com/xxxx/FSSpces.git 是你的项目地址)
3.检查./cocoapods/repos 文件夹下是否有REPO_NAME文件夹
   

  master是pod默认的一个仓库,用来管理公开的开源库。

  FSSpecs就是我们自己刚刚创建的一个仓库克隆到本地了,这个仓库的作用就是管理我们需要的 .podspec文件了,后面我们会讲到。

 

二:制作CocoaPod依赖库
1.在oschina上创建自己的仓库(这里我命名为test)
  与第一步种的第1小步一样, 需要注意打了标记的地方
2.克隆到本地
3.在本地仓库中添加创建pods依赖库需要的类文件在本地仓库中创建.podspec文件(如果已经有了可以直接复制过来
  

 

  pod spec create test 
  这里需要注意的是,需要将所有的文件都放在Person文件夹下或者Person文件夹的子文件夹下。 这个文件夹包含了我们整个私有库需要的文件。     
4.验证.podspec文件
  pod lib lint 
  此时你会有非常多的警告和错误,根据提示修改.podspec文件直到没有错误。
   相关参数有:
  
s.name             = "PodTestLibrary"    #名称
  s.version          = "0.1.0"             #版本号
  s.summary          = "Just Testing."     #简短介绍,下面是详细介绍
  s.description      = <<-DESC
                       Testing Private Podspec.
 
                       * Markdown format.
                       * Don't worry about the indent, we strip it!
                       DESC
  s.homepage         = "https://gitee.com/MakeKeyReuse/FSBase"                           #主页,这里要填写可以访问到的地址,不然验证不通过
  # s.screenshots     = "", ""           #截图
  s.license          = 'MIT'              #开源协议
  s.author           = { "" => "" }                   #作者信息
  s.source           = { :git => "https://gitee.com/MakeKeyReuse/FSBase", :tag =>s.version } #项目地址,这里不支持ssh的地址,验证不通过,只支持HTTP和HTTPS,最好使用HTTPS 
# s.social_media_url = 'https://twitter.com/<twitter_username>' 
#多媒体介绍地址 s.platform
= :ios, '7.0' #支持的平台及版本
s.requires_arc
= true #是否使用ARC,如果指定具体文件,则具体的问题使用ARC
s.source_files
= 'Pod/Classes/**/*' #代码源文件地址,**/*表示Classes目录及其子目录下所有文件,如果有多个目录下则用逗号分开,如果需要在项目中分组显示,这里也要做相应的设置
s.resource_bundles = { 'PodTestLibrary' => ['Pod/Assets/*.png'] } #资源文件地址
s.public_header_files = 'Pod/Classes/*
*/*.h' #公开头文件地址
s.frameworks = 'UIKit' #所需的framework,多个用逗号隔开
s.dependency
'AFNetworking', '~> 2.3' #依赖关系,该项目所依赖的其他库,如果有多个需要填写多个s.dependency

 

5.后提交到远程仓库
  git add -A  
  git commit -m “添加pod所需文件”
  git push origin master
  检查远程仓库的内容
三:添加.podspec文件到自己的repo
  1.pod repo push FSSpecs test.podspec 
  2.检查./cocoapods/repos 文件夹的变化
  3.检查自己repo远程仓库的内容
   
 
  
  此时会有错误信息:test没有tag,这里自己去打一下tag然后在提交,确定test项目是干净的在试。

  

四:测试
1.新建一个项目,初始化pod
2.在Podfile最上面添加下面两行
  source 'https://github.com/CocoaPods/Specs.git'        #官方仓库地址

  source 'https://gitee.com/xxxxxx/FSSpecs.git'        #私有仓库地址

  这是因为使用pod默认是使用官方来源的,想要更改成自己的需要添加私有仓库的地址,但是只添加使用私有仓库的地址,就会让master管理的用不了,所以两个都要添加上。

3.导入pod ‘test’

4.pod init

 

 五:遇到的相关坑

1.The repo `FSSpecs` at `../.cocoapods/repos/FXSpecs` is not clean:cd到repo的相关项目中

  git status 检查一下是否有未提交的东西,如果有就commit后push一下,如果没有就git clean -f 后push一下。

2.当有依赖的时候经常会报错,配合试用一下命令

  --allow-warnings  :忽略警告

  --use-libraries :验证lib

  --verbose:查看详情

  --no-clean:清理

 

完!!!

 

posted @ 2017-11-02 17:00  MakeKeyReuseable  阅读(524)  评论(0编辑  收藏  举报