CocoaPods 创建自己的库
创建方法

1.创建项目的Podspec索引文件.进入需要添加的库根目录中初始化一个Podspec文件.命令

cd ~/Desktop/xxxx
pod spec create xxxx //xxxx 为spec文件名,和项目名称保持一致

2.建立远程仓库.这里用的github,在github的页面建立xxxx目录,然后编写自己的spec文件.删除注释部分.
参数说明

key

描述

s.name

声明库的名称

s.summary

对这个库的简短说明介绍

s.version

当前库的版本

s.homepage

声明库的主页

s.license

所采用的授权版本

s.author

库的作者

s.platform

库运行的平台和系统的最低版本

s.source

库的仓库地址以及版本号或者committed等

s.source_files

声明库的源代码的位置,库的真正路径

s.resources

存放不想参与编译的资源文件

s.frameworks

声明了库所依赖的系统核心库

s.dependency

依赖的第三方库

编写完成 提交

git init
  git add -A  //添加到git得暂存区
  git commit -m "first commit" //提交到本地仓库
  git remote add origin  https://github.com/yourname/xxxx.git  //添加远端仓库地址
  git push -u origin master //把本地代码推送到远端仓库

3.验证Podspec文件的有效性

pod spec lint xxxx.podspec

这里可能有error 要解决error

4.提交tag,然后再次验证文件有效性.

//新建一个tag
  git tag 0.0.1
  //tag推送到远端
  git push origin 0.0.1

5.给cocoapods添加私有repo

pod repo add xxxx https://github.com/yourname/xxxx.git

  pod repo list

  pod repo push xxxx ~/Desktop/xxxx/xxxx.podspec

到这里就已经添加好私有库啦,但是是本地的,需要使用trunk发布代码到cocopods中.
6.注册trunk并上传

pod trunk register yourname@email.com 'userName'
  pod trunk push xxxx.podspec //上传podspec文件

现在搜索下~
pod search xxxx

如果其他电脑搜不到 可以使用gem source -l 看一下是不是国内外源不一样

使用方法

1.编写Podfile文件.
在需要使用库的文件根目录新建 Podfile文件

cd ~/Desktop/podDemo
touch Podfile       //新建一个名为Podfile的文件

编写profile

key

描述

platform

指定平台和最低版本 若不指定平台版本,官方文档里写明各平台默认值为iOS:4.3,OS X:10.6,tvOS:9.0,watchOS:2.0

inhibit_all_warnings!

屏蔽库里面的所有警告

use_frameworks!

使用frameworks动态库替换静态库链接 OC默认关闭 swift默认开启

source

指定specs的位置,自定义添加自己的podspec.注意的是cocoapods 官方source是隐式的需要的,一旦你指定了其他source 你就需要也把官方的指定上

pod

依赖库

依赖库的基本写法:

pod 'xxxx', //不显式指定依赖库版本,表示每次都获取最新版本
pod 'xxxx', '0.01'//只使用0.0.1版本
pod 'xxxx', '>0.0.1' //使用高于0.0.1的版本
pod 'xxxx', '>=0.0.1' //使用大于或等于0.0.1的版本
pod 'xxxx', '<0.0.2' //使用小于0.0.2的版本
pod 'xxxx', '<=0.0.2' //使用小于或等于0.0.2的版本
pod 'xxxx', '~>0.0.1' //使用大于等于0.0.1但小于0.1的版本,相当于>=0.0.1&&<0.1
pod 'xxxx', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'xxxx', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

依赖库的自定义写法

使用本地文件
pod 'xxxx', :path => '~/Desktop/xxxx'

引用仓库根目录的podspec
使用仓库中的master分支:
pod 'xxxx', :git => 'https://github.com/.git'

使用仓库的其他分支:
pod 'xxxx', :git => 'https://github.com/yourName/xxxx.git' :branch => 'release'

使用仓库的某个tag:
pod 'xxxx', :git => 'https://github.com/yourName/xxxx.git', :tag => '0.0.1'
cd ~/Desktop/podDemo
pod install