iOS 创建Podspec

Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以通过Pod傻瓜式的集成到自己的工程中,那么问题来了,我自己也有一系列的小工具类,怎么让它也支持pod集成进而让其他朋友方便,的使用呢?

创建属于自己的一些常用库,放在Cocoapods 上


1.上传项目源码

上传项目到github仓库里

http://www.open-open.com/lib/view/open1449922429379.html(教学地址)

(1)github DeskTop 桌面客户端

        下载地址:https://desktop.github.com/

   (2)

iOS 创建Podspec_第1张图片
iOS 创建Podspec_第2张图片
iOS 创建Podspec_第3张图片

3.创建项目的podspec文件

用终端命令cd到本地项目目录并执行如下命令:

$ pod speccreateiOS_Category

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

用编辑器打开.podspec文件 (我自己用Sublime Text)

删除不必要的注释(这里只简单介绍基本用法,所以只用到一部分必须得字段 更多字段请移步http://guides.cocoapods.org/syntax/podspec.html)

Pod::Spec.newdo|s|

s.name="iOS_Category"

s.version="0.0.1"

s.summary      ="all kinds of categories for iOS develop"

s.description  = <<-DESCthisprojectprovide all kindsofcategoriesforiOS developerDESC

s.homepage    ="https://github.com/ForIos/iOS_Category"

s.license      ="MIT"

s.license      = { :type=>"MIT", :file=>"LICENSE"} 

s.author            = {"ForIos"=>"邮箱@***.com"}

s.platform    = :ios 

s.source= { :git =>"https://github.com/ForIos/iOS_Category.git", :tag =>"0.0.1"} 

s.source_files  ="Classes","iOS_Category/Classes/**/*.{h,m}"

s.exclude_files ="Classes/Exclude"s.public_header_files ="iOS_Category/Classes/UIKit/UI_Categories.h","iOS_Category/Classes/Foundation/Foundation_Category.h","iOS_Category/Classes/**/*.h"

s.requires_arc =true

end

验证podspec文件

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

执行命令

$pod lib lint

如果出现

-> iOS_Category (0.0.1)iOS_Category passed validation.

则说明验证通过, 否则, 根据提示修改podspec文件再次验证直到验证通过

附带说一下,Xcode允许警告存在,所以可以通过命令屏蔽警告

$ pod lib lint--allow-warnings

如果出现Error但是提示信息不足,可以添加--verbose以获取更多错误信息

$ pod lib lint--verbose

3.打tag 上传podspec

podspec文件中需要指定的tag, 完成上述操作后给项目打tag

$git tag -m"first release iOS_Category with podspec""0.0.1"$git push --tags

最后使用pod trunk命令,把podspec文件推送到CocoaPod官方库

pod trunk需要注册  具体做法这里不再赘述 请移步CocoaPod官网

如:pod trunk register [email protected]'hans'--description='hans'

pod trunk me

pod trunk设置完毕后执行命令

$ pod trunkpushiOS_Category.podspec

这个过程可能会比较耗时,原因你懂的

4.最后

如果一切顺利

pod search iOS_Category

你可能感兴趣的:(iOS 创建Podspec)