配置

CocoaPods 集成和使用

2017-08-24  本文已影响255人  小米锅巴

一、iOS和OSX中添加第三方依赖库

1.1 CocoaPods介绍

1.2 Carthage介绍

1.3 CocoaPods 和 Carthage 优缺点

二、CocoaPods环境集成和使用

2.1 配置 ruby 环境

2.2 安装 CocoaPods

2.3 给项目添加 CocoaPods 库依赖

2.4 解除项目 CocoaPods 依赖

三、发布项目到CocoaPods

3.1 发布开源库到 CocoaPods

说明:使用pod trunk 发布项目到cocoapods需要cocoapods版本高于0.33

1.第三方库代码
2.github创建仓库
3.clone github上的仓库到本地
4.Xcode创建项目
5.创建podspec 文件
$ cd clone根目录
$ pod spec create hellohud
Pod::Spec.new do |s|
    s.name         = "hellohud"
    s.version      = "0.0.1"
    s.summary      = "A state bar hud for iOS on window"
    s.homepage     = "https://github.com/username/HelloWindowHud"
    s.license      = "MIT"
    s.author             = { "username" => "username@163.com" }
    s.source       = { :git => "https://github.com/username/HelloWindowHud.git", :tag => s.version }
    s.source_files  = "HelloWindowHud/"
    s.requires_arc = true
    s.platform     = :ios, "7.0"
end
6.commit项目到github
7.给项目打一个tag
$ cd clone路径
$ git tag -a '0.0.1' -m 'tag release 0.01'
$ git push --tags
$ git tag // 查看所有的tag
$ git tag -d 0.0.1 // 删除对应的tag
8.验证podspec文件是否符合要求
$ pod spec lint HelloWindowHud.podspec // 联网
$ pod lib lint // 不联网
9.注册pod trunk
/**
* @param email 用户邮箱 
* @param username 用户名
* @param description 设备描述
*/
$ pod trunk register email 'username' --description='device description'
// pod trunk register emailemail@163.com hellohud

查看账户信息
$ pod trunk me
10.podspec验证没有报错,则发布
$ pod trunk push HelloWindowHud.podspec
11.第一次发布需要去认领podspec

认领podspec

更新pod 搜索自己的第三方库即可
$ pod repo update 
$ pod search CodePush

3.2 利用 CocoaPods 创建私有库

1.创建私有库git仓库(托管私有库源码) & 创建私有spec仓库(和CocoaPods的podspec仓库相同)
2.将私有 spec 仓库添加到 CocoaPods
3.创建私有库及编辑podspec文件和校验,参考 CocoaPods 发布开源库中的操作 1 - 9 完全相同
4.将私有库的pospec文件提交到私有 spec 仓库
5.集成私有库
source 'https://github.com/CocoaPods/Specs.git'
source 'http://git.oschina.net/username/CodeSpec.git'

platform:ios, '8.0'

target 'demo' do

// 私有库
// github托管的开源库

end

备注:

pod lib lint --sources='https://github.com/CocoaPods/Specs.git,私有spec仓库地址' // 本地验证
pod spec lint --sources='https://github.com/CocoaPods/Specs.git,私有spec仓库地址' // 远程验证,也可以加上--allow-warnings去掉警告
s.subspec 'ClassA' do |classa|
      classa.source_files = 'tt/Classes/ClassA/*'
end

分类后的虚拟文件夹为ClassA,其文件来源在路径tt/Classes/ClassA/*中

参考链接

上一篇下一篇

猜你喜欢

热点阅读