发布自己的pods到CocoaPods

本文详细介绍了如何使用CocoaPods发布私有库的步骤,包括注册账号、标记版本、创建podspec文件及验证等内容。

首先更新了用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) 编辑的时候会报如下错误,根据提示修改即可

打开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
复制代码

podSpecspec的全称是Specification,说明书的意思。顾名思义,这是用来描述你这个私有pod的说明信息的。 podSpeccocoapods的一种文件格式,有一套自己的语法,我们可以到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" => "yoowei@126.com" }
复制代码

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

  s.source  = { :git => "git@git.oschina.net: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.push podspec文件

$ pod trunk push AdAlertView.podspec
复制代码

忽略警告

$  pod trunk push AdAlertView.podspec --allow-warnings
复制代码

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

trunk成功

我们现在就可以使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值