发布自己的cocoapods开源库按照以下步骤,认真制作,包教!!接下来我会通过一个叫IFMMenu的项目来讲解整个过程。1.编写代码并上传到github上在github上创建项目仓库的时候,记得创建一个LICENSE(许可/授权)文件,这个文件一定要有。在github上创建一个项目仓库2.给自己的项目打标签,因为cocoapods是依赖tag版本的,所以一定要打标签。再次更新后,只需要给你的项目打tag,然后修改.podspec文件中的版本,提交到cocoapods官网,提交命令请看下面//Tagforgit,第一次需要添加一个vgittag"v1.-version命令查看版本,如果版本低,需要升级。pod--version//版本低于0.33sudogeninstallcocoapodspodsetup如果已经注册,则不需要注册。如何查看是否注册了podtrunkmepodtrunkme?Username我使用的是我在Github上的用户名//添加--verbose输出详细的错误信息,方便出错时查看podtrunkregisterexample@example.com'liugangios'--verbose注册完成后会发邮件到你的邮箱,邮件里有一个链接,需要点击确认,注册完成后使用podtrunkme查看是否注册成功ul。4.创建.podspeccd到你的项目目录,执行命令podspeccreateIFMMenu5。编辑.podspec创建完成后,打开.podspec,删除注释,前面带#的是注释,也可以替换成下面的代码,然后编辑自己的库信息。Pod::Spec.newdo|s|s.name='IFMMenu's.version='1.0.2's.authors={'liugangios'=>'example@example.com'}s.homepage='https://github.com/liugangios/IFMMenu's.summary='adropdownmenuforioslikewechathomepage.'s.source={:git=>'https://github.com/liugangios/IFMMenu.git',:tag=>s.version.to_s}s.license={:type=>"MIT",:file=>"LICENSE"}s.platform=:ios,'7.0's.requires_arc=true.source_files='IFMMenu's.public_header_files='IFMMenu/*.h's.ios.deployment_target='7.0'ends.name:名称,pod搜索的关键字,注意一定要和.podspec的名称相同,否则会报错s.version:版本号,to_s:返回一个字符串s.author:作者s.homepage:项目主页地址s.summary:项目介绍s.source:项目源码地址s.license:许可s.platform:项目支持平台s.requires_arc:是否支持ARCs.source_files:需要包含的源文件s.public_header_files:需要包含的头文件s.ios.deployment_target:支持的pod***版本和一些其他非必需的字段s.social_media_url:社交URLs.resources:资源文件s.dependency:依赖库,不能依赖未发布的库s.license={:type=>"MIT",:file=>"LICENSE”}建议这样写,如果写别的,会报warning,导致一直无法提交source_files及其含义"IFMMenu/*"IFMMenu/IFMMenu/*.{h,m}""IFMMenu/**/*。h"*表示匹配所有文件*.{h,m}表示匹配所有以.h和.m结尾的文件**表示匹配所有子目录s.source常用写法s.source={:git=>"https://github.com/liugangios/IFMMenu.git",:commit=>"68defea"}s.source={:git=>"https://github.com/liugangios/IFMMenu.git",:tag=>1.0.0}s.source={:git=>"https://github.com/liugangios/IFMMenu.git",:tag=>s.version}commit=>"68defea"表示整合这个Pod版本与Git仓库中的commit绑定标签=>1.0.0表示将这个Pod版本绑定到Git仓库标签中某个版本的comit=>s.version表示将这个Pod版本绑定到仓库中相同版本的comitGit仓库6.验证.podspec到这里查看你项目中的以下文件:你的项目,.podspec文件,LICENSE文件项目中的文件使用如下命令测试本地.podspec文件是否存在语法错误。podspeclintIFMMenu.podspec--verbose7。发布podtrunkpushIFMMenu.podspec需要时间较长,耐心等待,大概5-10分钟,发布成功后会有如下提示发布成功截图8.此时测试自己的cocoapods。如果使用podsearch来搜索,会提示搜索如果没有,可以执行如下命令更新本地的search_index.json文件rm~/Library/Caches/CocoaPods/search_index.json然后podsearchIFMMenu这个命令会重新创建search_index.json文件,5-10分钟,耐心等待搜索结果完成命令gittag"v1.0.0"gitpush--tagspodtrunkregisterexample@example.com'liugangios'--verbosepodtrunkmepodspeccreateIFMMenu//编辑IFMMenu.podspecpodspeclintIFMMenu.podspecpodtrunkpushIFMMenu。podspecrm~/Library/Caches/CocoaPods/search_index.jsonpodsearchIFMMenu报错处理[!]Unabletoacceptduplicateentryfor:XXXXX(1.0.0)意思是:不能接受相同版本的提交解决方法:1.执行如下命令gittag1.0.1gitpush--tags2,修改XXXX.podspec文件中的内容s.version="1.0.1"s.source={:Git=>"https://github.com/xxx/xxx.git",:tag=>"1.0.1"}3.执行命令podspeclint,podtrunkpush库名.podspec进行验证并提交ttoCocoPods***IFMMenu是仿微信首页添加菜单的多功能下拉菜单,可自定义多个属性。欢迎下载评论,star,感谢阅读。
