发布开源项目到cocoapods上

2017-04-24  本文已影响0人  雪里的懒猪

        公司多个app开发中,其中的一些模块化的代码相同,粘贴复制麻烦,有修改或者细节优化,就需要多个app同时修改,工作繁琐没有效率,不利于代码的反复使用。

        就想到平时用的三方框架,将自己封装好的功能模块放在GitHub上,使用cocoapod集成这个模块代码,当代码优化修改时就使用pod将代码的版本更新即可;既方便集成使用,也方便记录代码的多个迭代版本;

1. 创建demo工程,在demo中确保代码块的正常调用,弱化耦合性;

2. 将demo上传至github,再clone到本地:

在github上新建项目时需要注意一下几点:1.项目选择公开Public;2.最好添加README文件;3.最好添加gitignore文件;4.必须添加license文件,我选择的是MIT license (基本上开源的项目的license的类型都是MIT);

3. 创建项目的podspec文件

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

$pod spec create 项目名称   

这时候本地生成一个 项目名称.podspec 文件

使用vi打开.podspec文件(不要直接使用文本编辑器打开文件修改,这样会曹成格式错误),填写里面的内容,下面是我项目的.podspec文件:

Pod::Spec.new do |s|

s.name        = "CustomLoadingTool"

s.version      = "1.0.0"

s.summary      = "A Library for iOS to use for loading view."

s.homepage    = "https://github.com/wangguimin/CustomLoadingTool"

s.license      = "MIT"

s.author            = { "wangguimin" => "870503894@qq.com" }

s.source      = { :git => "https://github.com/wangguimin/CustomLoadingTool.git", :tag => "#{s.version}" }

s.source_files  = "CustomLoadingToolDemo/CustomLoadingToolDemo/CustomLoadingTool/*.{h,m}"

s.frameworks  = "Foundation"

s.platform    = :ios, "8.0"

end

//需要注意的是s.source_files路径一定要写对

//公共资源文件也就是pod 下来的文件  *.{h,m}是通配符意思是所有在该目录下以.h .m结尾的文件  该目录地址是相对于CustomLoadingTool文件的

4. 验证podspec文件 

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

执行命令  $ pod lib lint 项目名称.podspec如果出现

->CustomLoadingTool (1.0.0)

CustomLoadingTool  passed validation

则说明 验证通过,否则,根据提示修改podspec文件再次验证,直到验证通过附带说一下,Xcode允许警告存在,所以可以通过命令屏蔽警告 $ pod lib lint  项目名称.podspec - allow-warnings

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

$ pod lib lint 项目名称.podspec —verbose 

5. 打印tag,上传podspec

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

$ git tag -m "first release ios_Category with podspec" "1.0.0"

$git push --tags

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

6. 注册pod trunk

在终端输入以下命令   参数 邮箱地址, 用户名, 邮箱地址用github 上的最好

$ pod trunk register 870503894@qq.com 'wangguimin'  —verbose

向服务器查询自己注册的信息 $ pod trunk me

7. 通过trunk推送podspec文件

$ pod trunk push CustomLoadingTool.podspec  这个工程可能会比较耗时

出现如下图的结果即可

8.搜索自己的项目吧

pod search 项目名

注意:

如果搜素出现错误时:

Unable to find a pod with name, author, summary, or description matching `CustomLoadingTool`

在终端中输入 :rm ~/Library/Caches/CocoaPods/search_index.json

删除本地pod的文件,然后在进行搜索

上一篇下一篇

猜你喜欢

热点阅读