cocoapods私有库建立

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

步骤:ios

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

 

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

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

  FSSpecs就是咱们本身刚刚建立的一个仓库克隆到本地了,这个仓库的做用就是管理咱们须要的 .podspec文件了,后面咱们会讲到。github

 

二:制做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最上面添加下面两行
  sour ce  'https://github.com/CocoaPods/Specs.git'        #官方仓库地址

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

  这是由于使用pod默认是使用官方来源的,想要更改为本身的须要添加私有仓库的地址,可是只添加使用私有仓库的地址,就会让master管理的用不了,因此两个都要添加上。gitlab

3.导入pod ‘test’post

4.pod init测试

 

 五:遇到的相关坑ui

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

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

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

  --allow-warnings  :忽略警告

  --use-libraries :验证lib

  --verbose:查看详情

  --no-clean:清理

 

完!!!

相关文章
相关标签/搜索