Cocopods私有库创建(基于oschina,gitlab)

私有库的原理就是使用一个repo仓库管理组建仓库的podspec文件,本文以码云为例,gitlab同理

一、创建私组建库repo(不需要.podspec文件,简单一个仓库即可)

1、直接使用oschina创建空仓库作为组建库repo
2、将远程组建库镜像到本地

pod repo add 本地私有仓库名 远程仓库地址
pod repo remove 本地私有仓库名//如果提示已存在删除重加
pod repo (查看可以看到对应的仓库表明添加成功)

二、向私有的组建库添加组建spec

1、xcode创建组建工程
2、在oschina上创建仓库,用于存放步骤1中xcode创建的组建工程
3、克隆步骤2中创建的仓库到本地,将项目中的.git替换到组建工程中
4、在组建工程共目录执行以下指令

git add .
git commit -m "备注"
git pull
git push
git tag -m "备注" 1.0
git push --tags(这里的tag必须打,否则无法添加成功)

5、创建组建工程的spec文件

touch 项目名称.podspec
open 项目名称.podspec

#插入如下内容
Pod::Spec.new do |s|

  s.name         = "仓库名称"
  s.version      = "版本号"
  s.summary      = "概述"

  s.description  = <<-DESC
                   详细描述 
                   DESC

  s.homepage     = "github仓库网址(区别仓库地址https://github.com/*****/*****)"

  s.license      = "MIT"
  s.license      = { :type => "MIT", :file => "LICENSE" }

  s.author             = { "作者名称" => "邮箱地址" }

  #支持平台
  s.platform     = :ios
  #支持平台版本
  s.platform     = :ios, "7.0"
  #仓库地址 (不要使用ssh)
  s.source       = { :git => "https://github.com/*****/****.git", :tag => "#{s.version}" }

  #源文件位置
  s.source_files  = "ADCarouselView/ADCarouselView/*.{h,m}"
  # s.exclude_files = "Classes/Exclude"

  #仓库地址 (暴露出来的头文件)
  s.public_header_files = "ADCarouselView/ADCarouselView/*.h"

  #需要的framewoke
  # s.framework  = "UIKit"
  s.frameworks = "UIKit"

  #库
  # s.library   = "iconv"
  # s.libraries = "iconv", "xml2"

 #是否arc
  s.requires_arc = true

  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }

 #需要依赖的三方
  s.dependency 'SDWebImage', '~> 3.7.6'

end
6、检查podspec文件

pod spec lint --allow-warnings

// pod lib lint 和 pod spec lint 命令的区别
pod lib lint是只从本地验证你的pod能否通过验证
pod spec lint是从本地和远程验证你的pod能否通过验证
以前使用pod lib lint,现在推荐使用pod spec lint
7、将组建工程的.podspec文件推到spec仓库

pod repo push 项目名称.podspec
如果在创建完.podspec后再添加文件,可能目录结构被缓存,尝试重新创建

8、搜索刚刚完成的组建

pod search 项目名称(或者关键字都可以搜索到,不会出现直接上传cocoapods,可能搜索不到的情况,如果有删除搜索json,重新搜索即可)

三、使用私有组建库

1、搜索组建(添加完直接搜索就能搜到)

pod search 组建库名称

2、在Podfile文件中顶部添加
source 'https://git.oschina.net/tiancanfei/ADRepo.git'
source 'https://github.com/CocoaPods/Specs.git'

你可能感兴趣的:(Cocopods私有库创建(基于oschina,gitlab))