CocoaPods制作自己的podspec文件

房东的猫 提交于 2020-11-22 01:23:12

在使用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 -—tags
pod spec create 你的podspec文件的文件名

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

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, 参考 http://www.tuicool.com/articles/6FF7fi 这个链接, 在编辑podspec文件(编辑podspec文件可以参考 http://re-reference.iteye.com/blog/1755097 这个链接,里面有比较详细的注释 )的操作中可以还有些出入,特别是填写这几项时:

  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文件
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!