1、git服务器创建一个项目。2、Clone项目到本地,到本地后是一个空目录,还没有工程。 3、创建一个工程。 1。打开终端,切换到该目录 cdUserslmyDesktopXesAppMultimedia 2、创建工程模板 podlibcreateXesAppMultimedia 3、配置相关选择。 选择平台 Whatplatformdoyouwanttouse??〔iOSmacOS〕 iOS 选择语言 Whatlanguagedoyouwanttouse??〔SwiftObjC〕 ObjC 是否自动生成demo,选择Yes,方便以后测试 Wouldyouliketoincludeademoapplicationwithyourlibrary?〔YesNo〕 Yes 是否集成测试框架 Whichtestingframeworkswillyouuse?〔SpectaKiwiNone〕 None UI测试 Wouldyouliketodoviewbasedtesting?〔YesNo〕 No 指定类前缀 Whatisyourclassprefix? XesApp 4、执行完之后,自动打开项目。 4、编写podspec文件。 1、目录下文件介绍podspec这个文件主要是用来描述项目名称、pod的版本号、介绍、首页(homepage)、作者信息、git源等,具体的可以参看官方PodspecSyntaxReferenceREADME使用过GitHub的都会知道README文件的重要性,这个文件可以使用Markdown语法,主要展示在GitHub工程上的首页。README文件对于使用这个pod库的人来说,有和没有这个文件,区别是很明显的,此外这还有助于创建一个高质量的CocoaPodsQualityILICENSE要想是Spec仓库接收,就必须包含一个license。命令podlibcreate自动创建使用的是MIT 2、如果用第3步的命令创建工程模板,那么工程的目录下已经自动生成了。podspec(XesAppMultimedia。podspec)。如果是已有的工程或者库文件目录,也可以利用Pod命令自己制作。podspec文件,命令如下: podspeccretae组件库名 PS注意:自动生成的podspec文件只是模板,需要结合工程的库文件、资源目录、远程代码仓库(第1步创建的远程代码仓库)修改补充podspec文件。 5、验证。podspec文件的格式是否正确 1、cd到。podspec文件所在的目录下,用到的一些命令 podliblint 解说:本地验证pod能否通过验证,如果失败使用下面命令:podliblintverbose查看失败原因,或使用podliblintallowwarnings忽略警告错误 podspeclint 解说:本地和远程验证pod能否通过验证,需要更新提交podspec到远程specs仓库,参考第7步,一般本地验证通过即可提交到远程specs仓库 podliblintverbose 解说:加verbose可以显示详细的检测过程,出错时会显示详细的错误信息 podliblintverboseallowwarnings 解说:允许警告,用来解决由于代码中存在警告导致不能通过校验的问题 有时候会提示一个错误: 没有写简介,把简介填写一下,就可以验证通过。 有时候会提示一个错误: 到这个提示错误信息的时候,使用如下指令: podliblint文件名称。podspecuselibrariesallowwarnings 相应的执行上传指令的时候,也需要加上参数: podrepopushGofSpecsGofKit。podspecuselibrariesallowwarnings podliblintsources〔https:git。xxx。comXesAppMediator。。。〕 解说:私有库依赖需要添加specs源来验证 引用当前私有库的podFile中指定source为私有库地址 sourcehttp:〔privateLibName〕cocoaspecs。git sourcehttps:github。comCocoaPodsSpecs。git podliblinthelp 解说:查看所有可选参数,可选参数可以加多个6。提交工程代码 提交工程代码到远程代码仓库,可以利用git或者svn进行代码版本管理,提交代码到GitHub等,初始化提交命令如下: 初始化git版本管理仓库,模板代码已经初始化过此步骤可以忽略(有。git文件夹) gitinit 添加到暂存区 gitadd。 提交到本地仓库 gitcommitam提交信息 示例:gitcommitam添加pod组件库 打标签,注意此标签可能在podspec中用到,用于区分版本 gittag1。0。0 本地仓库与远程仓库关联(已关联过的,可以忽略) gitremoteaddorigin 拉取和合并本地与远程仓库 gitpulloriginmasterallowunrelatedhistories 本地仓库代码推送到远程 gitpushsetupstreamoriginmaster 此时如果你报错,查看报错信息中如果有:prereceivehookdeclined 说明存在权限问题,没有master分支的代码提交权限。分配权限后,就可以push成功。 推送标签 gitpushtags7。提交podspec文件1。开源库提交 podspec文件到Cocopods官方仓库,首先在cocopods官方仓库中注册账号,命令如下: podtrunkme (检查是否注册trunk) podtrunkregister邮箱注册名字verbose (注册命令) 注册完成之后会给你的邮箱发个邮件,进入邮箱邮件里面有个链接,需要点击确认一下。之后开始提交,切换到有。podspec文件的组件工程根目录执行命令 podtrunkpush组件库名。podspec podtrunkpush组件库名。podspecallowwarnings2。私有库提交 私有仓库需要先添加到本地仓库,再push到远程仓库。 电脑查看目录:。cocoapodsrepos添加到本地仓库,gitgit。xxxx。git为远程specs库的地址,成功之后目录(。cocoapodsrepos)除了master之外,新增了一个文件夹(组件库名)podrepoaddspecs仓库名specs远程仓库地址 示例:podrepoaddXesAppMultimediahttps:。comXesAppMultimediaspec。git查看是否添加成功podrepolistpush到远程specs仓库podrepopush本地spec库名本地。podsepc文件 示例:podrepopushXesAppMultimediaXesAppMultimedia。podspec如果。podspec文件存在警告时不能成功push。 解决:Podrepopush本地spec库名本地。podsepc文件allowwarnings 示例:podrepopushXesAppMultimediaXesAppMultimedia。podspecallowwarnings如果已经添加过得,可以不用再添加。如果添加报错: 删除文件夹,重新podrepoadd,重新podrepopush podrepoaddXesAppMultimediahttps:。comXesAppMultimediaspec。git podrepopushspecs远程仓库地址组件库名。podspec 示例:podrepopushhttps:。comXesAppMultimediaspecs。gitXesAppMultimedia。podspec8、检查仓库是否发布成功 pod搜索验证: podsearch组件库名 如果报错,搜索不到,建议更新下pod: podupdate 之后仍然搜索不到,那么进入CocoaPods缓存目录,删除缓存索引文件searchindex。json: cdLibraryCachesCocoaPods ls rmfsearchindex。json9、pod库文件引入 如果是开源库(公有的),修改podfile文件: 如果是私有仓库,建议在podfile文件开头添加source源: 最后执行命令进行安装: podinstall