博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CocoaPods制作自己的podspec文件
阅读量:7172 次
发布时间:2019-06-29

本文共 1592 字,大约阅读时间需要 5 分钟。

hot3.png

在使用cocoapods进行开发时,都是使用pod search 一些别人的类库,有时候自己在一个项目中封装了自己一些类库,碰到如下情况:

1、 在做其他项目中,发现可以使用之前封装的类库,但是需要进行扩展

2、之前封装的类库,有瑕疵,需要修改代码

 

以上两种情况,涉及到修改了代码后,怎么在所有的用了这个类库的项目中更新这个类库。其中一个方法时,直接把修改后的文件,复制、粘贴到需要替换的项目中,显然这样做的话,在涉及到的项目少的情况下可以,但是涉及到项目比较多的,影响范围比较广的情况下,可操作性就不强了;那么还有一种方法就是,使用cocoapods进行管理时,在podfile里面添加自己封装的类库,然后需要更新时,执行一个pod install就可以解决这个问题。那么下面介绍就是如何让执行pod search时,可以搜索到自己的代码。

 

一、在github中新建一个仓库,git clone将代码拉下来,然后添加本地需要操作的类库,并执行如下命令

git tag -a 0.0.1 -m "Tag release 0.0.1”git push -—tagspod spec create 你的podspec文件的文件名

这样就生成了podspec文件,接下来就是需要编辑podspec文件里面的内容,这个文件中有很多是注释,删除注释,填写一些必须的内容,可以参考  这个链接里面的流程,编辑完成后,执行如下命令:

git add podspec文件的文件名git commit -am "add podspec file”git push

已经可以在Podfile文件里添加如下内容

pod 'XCAsyncTestCase', :git => 'https://github.com/iiiyu/XCAsyncTestCase.git'

执行pod install,完成后可以看到项目中已成功添加类库

 

二、需要使用pod search能够搜索到上传的类库,需要把podspec文件提交到cocoapods, 参考  这个链接, 在编辑podspec文件(编辑podspec文件可以参考  这个链接,里面有比较详细的注释 )的操作中可以还有些出入,特别是填写这几项时:

  s.version      = "0.0.2"

  s.source       = { :git => 'https://github.com/**.git', :tag => '0.0.2' }

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

需要注意tag和version,需要保证github里面有 s.source_files中路径里面的资源。

完成编辑后,使用pod spec lint podspec文件 来验证podspec文件是否有效,如有问题,按照提示修改。

验证通过后,使用pod trunk push podspec文件 来提交podspec文件,如果提交的时候报如下错误:getaddrinfo: nodename nor servname provided, or not known 将dns改为8.8.8.8进行尝试 

如出现 Authentication token is invalid or unverified. Either verify it with the email that was sent or register a new session.

按照如下步骤:

  1. pod trunk register 你的邮箱

  2. 打开邮箱验证
  3. 重新执行pod trunk push podspec 提交podspec文件

转载于:https://my.oschina.net/u/1432769/blog/547277

你可能感兴趣的文章
discuz的php7版本号
查看>>
Hibernate中的session和load延迟载入矛盾问题,怎样解决?
查看>>
MACD判断定背离,底背离
查看>>
UML建模学习1:UML统一建模语言简单介绍
查看>>
【书籍推荐】
查看>>
Bing Advanced Search Tricks You Should Know
查看>>
EF6 DbModelBuilder
查看>>
裴波那切数的探讨
查看>>
linux比较文件夹的差异命令
查看>>
CentOS6下基于Nginx搭建mp4/flv流媒体服务器
查看>>
区块链技术--密码学
查看>>
Java垃圾回收机制(转)
查看>>
复杂查询
查看>>
【python】正则表达式
查看>>
使用Mongoose类库实现简单的增删改查
查看>>
OHDSI——数据标准化
查看>>
实现php的startsWith和endsWith
查看>>
Windows Community Toolkit 4.0 - DataGrid - Part01
查看>>
WMI入门(一):什么是WMI
查看>>
Windows Vista for Developers——第四部分:用户帐号控制(User Account Control,UAC)
查看>>