发布自己的pods到CocoaPods(转载)

首先更新了用trunk之后,CocoaPods 需要0.33版本以上的,用 pod --version 查看,如果版本低,需要更新pod参考guides.cocoapods.org/making/gett…

1.账号注册

$ pod trunk register 邮箱'用户名'--description='电脑描述'

2.查收邮件

点击邮件的链接就完成了trunk注册流程。

3.标记tag

cd到项目根目录

如果未标记tag,验证的时候会fatal: Remote branch 0.0.1 not found in upstream origin

$  git tag'0.0.1'$  git push --tags

4.创建podspec文件

$ pod spec create  AdAlertView

这时候本地就生成一个AdAlertView.podspec文件

5.用编辑器打开.podspec文件

删除不必要的注释(这里只简单介绍基本用法,所以只用到一部分必须得字段 更多字段请移步http://guides.cocoapods.org/syntax/podspec.html)编辑的时候会报如下错误,根据提示修改即可

发布自己的pods到CocoaPods(转载)_第1张图片

打开spec文件,修改source_files 和 public_header_files

参照:

s.name        ="verifyNumberCode"s.version      ="0.0.1"s.summary      ="A short description of verifyNumberCode."s.description  ="实现短信验证码验证"s.homepage    ="https://github.com/IT-iOS-xie/verifyNumberCode.git"s.license      ="MIT"s.license      = { :type=>"MIT", :file =>"FILE_LICENSE"} s.author            = {"xie"=>"*********@qq.com"} s.social_media_url  ="http://twitter.com/xie"s.platform    = :ios s.source      = { :git =>"https://github.com/IT-iOS-xie/verifyNumberCode.git", :tag =>"0.0.1"} s.source_files  ="Classes","verifyNumberCode/*.{h,m}"s.exclude_files ="Classes/Exclude"s.public_header_files ="verifyNumberCode/*.h"s.requires_arc =true

podSpec中spec的全称是Specification,说明书的意思。顾名思义,这是用来描述你这个私有pod的说明信息的。podSpec是cocoapods的一种文件格式,有一套自己的语法,我们可以到cocoapods官网进行详细了解(guides.cocoapods.org/syntax/pods…)。

创建podSpec很简单,只要创建一个以.podSpec为后缀的文件即可,或者直接拷贝别人的进行修改也可以。

它的创建命令是:$pod spec create TestFile

podspec文件的常用配置字段介绍

框架名字:框架名字一定要写对,pod search"框架名"就是搜的这个

s.name="yoowei"

框架版本号

s.version="1.0.0"

框架简介

s.summary="yoowei框架"

框架的主页

s.homepage="https://git.oschina.net/yoowei"

框架遵守的开源协议

s.license  ='MIT'

框架的作者

s.author  = {"yoowei"=>"[email protected]"}

框架的资源路径:路径可以指向远端代码库,也可以指向本地项目,例如:1.指向远端代码库:{ :git => "[email protected]:yoowei/yoowei.git", :tag => "1.0.0" }2.指向本地项目:    { :path => 'yoowei', }

s.source  = { :git =>"[email protected]:yoowei/yoowei.git", :tag =>"1.0.0"}

框架被其他工程引入时,会导入yoowei目录下的.h和.m文件

s.source_files ='yoowei/**/*.{h,m}'

框架被其他工程引入时,会导入yoowei/resource目录下的资源文件

s.resources = {'yoowei'=> ['yoowei/resource/**/*.{storyboard,xcassets,xib,png']  }

框架依赖的framework

s.framework ='CoreData'

框架依赖的其他第三方库

s.dependency'MagicalRecord', :git =>'https://github.com/iiiyu/MagicalRecord.git', :tag =>'sumiGridDiary2.1's.dependency'MBProgressHUD'

框架是否需要支持ARC

s.requires_arc =true

框架支持的最低平台版本

s.platform = :ios,'7.0'

框架公开的头文件

s.public_header_files ='yoowei/**/*.h'

6.验证spec文件

编辑完podspec文件后需要验证一下这个文件是否可用podspec文件不允许有任何的Warning或者Error

执行命令

$ pod lib lint

有事会出现部分警高

忽略警高

$ pod lib lint --allow-warnings

7.pushpodspec文件

$ pod trunk push AdAlertView.podspec

发布自己的pods到CocoaPods(转载)_第2张图片

忽略警告

$  pod trunk push AdAlertView.podspec --allow-warnings

如果此时报下面的错误,没有设置tag

发布自己的pods到CocoaPods(转载)_第3张图片

trunk成功

发布自己的pods到CocoaPods(转载)_第4张图片

我们现在就可以使用pod search adalertview

如果提示[!] Unable to find a pod with name, author, summary, or description matchingadalertview``1.Finder前往资源库去删除缓存中的search_index.json(xie修改成你自己的)/Users/xie/Library/Caches/CocoaPods删除search_index.json或执行

rm ~/Library/Caches/CocoaPods/search_index.json

然后再输入pod search时会重新创建这个search_index.json

有时候发布完可能需要等一段时间才能搜索到。

作者:西门吹雾

链接:https://juejin.im/post/5a549248518825733060cd47

来源:掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(发布自己的pods到CocoaPods(转载))