iOS之开发配置征服iOSiOS Cocoapods相关

cocoapods系列教程---让自己的开源框架支持cocoap

2016-09-18  本文已影响1078人  youngyunxing

cocoapods系列教程---安装与使用
cocoapods系列教程---Podfile文件
cocoapods系列教程---Podfile.lock文件 和 Spec Repo
cocoapods系列教程---spec文件
cocoapods系列教程---原理篇
cocoapods系列教程---让自己的开源框架支持cocoapods
cocoapods系列教程---模块化设计
cocoapods系列教程---创建私有pods

参考:http://studentdeng.github.io/blog/2013/09/13/cocoapods-tutorial/

提交代码到代码托管平台

既然是开源,要求代码任何人都能够访问,这里选择github,当然也可以用其他平台如oschina等,项目必须是公开项目.比如我的这个:https://github.com/iOSSinger/SGExtension.git

创建spec文件

Pod::Spec.new do |spec|

spec.name                  = 'SGExtension'

spec.version               = '1.0.2'

spec.ios.deployment_target = '8.0'

spec.license               = 'MIT'

spec.homepage              = 'https://github.com/iOSSinger'

spec.author                = { "iOSSinger" => "747616044@qq.com" }

spec.summary               = '各种工具的合集'

spec.source                = { :git => 'https://github.com/iOSSinger/SGExtension.git', :tag => spec.version }

spec.source_files          = "SGExtension/**/{*.h,*.m}"

spec.resources             = "SGExtension/source.bundle"

spec.frameworks            = 'UIKit'

spec.library               = 'z'

spec.requires_arc          = true

end

解释下每行的意思:

如果你的项目依赖了别的pod项目,可以这样写:

spec.dependency = 'AFNetworking'

提交代码,并打上tag
//提交代码
git push

//打tag
git tag 1.0.2

//将tag推送到远端
git push origin --tags

附上目录:

Paste_Image.png
验证podspec文件
pod spec lint SGExtemnsion.podspec

这一步如果报错,根据错误自行修改,根据大致意思能看出来个大概,终端会给出哪一行出错了.一般就是语法错误,资源找不到,git地址不对或者不能访问.指定的文件如{.h,.m}找不到,一般再检查检查基本没问题.

2018.1更新: 有时候明明代码没问题(很确定),但是还是不通过,可以尝试清理下缓存:

//获取已经缓存的列表
pod cache list

//清除指定的缓存
pod cache clean xxx(缓存的名字,上一步可获取)
注册trunk,并提交spec文件cocoapods仓库

如果能够查到,恭喜你 !,如果查不到,往下看

集成到项目中试试
  target '项目名' do
  pod 'SGExtension'
  end

多人共同维护你的开源项目

如果需要多个人维护一个库,每个人都应该有权限push提交spec文件;第一个push的人可以被认为是管理员,可以再添加子管理员,这样子管理员就有权限push了

pod trunk add-owner 邮箱地址

移除某个管理员

pod trunk remove-owner 邮箱地址

* pod lib lintpod spec lint 有什么区别
上一篇 下一篇

猜你喜欢

热点阅读