iOS 记录之 CocoaPods Pods的制作(新版方式)

阐述
随着iOS的不断发展,越来越多的开发者开始使用CocoaPods来管理他们的第三方。使用Pods时,我在考虑Pods能不能给自己更大的帮助,改变现在的开发风格。

制作
为了表示对CocoaPods的尊重,首先附上CocoaPods Github官方链接: https://github.com/CocoaPods 。
下方将介绍Pods制作步骤(文中多处操作使用Git命令,用户可使用SourceTree来操作)
一、在Github中创建一个仓库(Repository)
相信大家都有Github账号,此处忽略关于Github账号申请细节。

上方各部分含义:
1、Repository name
代码仓库名称,也可以说是Pod的名字

2、Description
代码仓库的描述信息

3、仓库的公开性
随个人能力选择,Public免费,Private收费

4、是否创建一个默认的README文件
完整的代码仓库,都需要README

5、是否添加.gitignore文件
.gitignore文件里面记录了若干文件类型,凡是该文件包含的文件类型,git都不会将其纳入到版本管理中,是否选择看个人需要。

6、license类型
正规的仓库都应该有一个license文件,Pods依赖库对这个文件的要求更严,是必须要有的。因此最好在这里让github创建一个,也可以自己后续再创建。我使用的license类型是MIT

二、Clone 这个仓库到本地目录(可使用SourceTree等其它svn工具)
Terminal 命令
$ git clone 仓库地址



三、本地创建 .podspec 文件 (spec 规范)
1、简述 .podspec 文件
该文件为Pods依赖库的描述文件,每个Pods依赖库必须有且仅有一个描述文件,名称需与创建的依赖库名称保持一致。

2、.podspec 文件相关
a 示例内容
Pod::Spec.new do |s|

  s.name         = "MethodFactory"
  s.version      = "0.0.1"
  s.summary      = "MethodFactory is a Good Factory of Method."

  s.description  = <<-DESC
                   MethodFactory is a Good Factory of Method ,it has too much nice method.
                   DESC

  s.homepage     = "https://github.com/yanglei3kyou/MethodFactory"
  # s.screenshots  = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"

  s.license      = "MIT"
  # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

  s.author             = { "yanglei3kyou" => "yanglei3kyou@126.com" }
  # Or just: s.author    = "yanglei3kyou"
  # s.authors            = { "yanglei3kyou" => "yanglei3kyou@126.com" }
  # s.social_media_url   = "http://twitter.com/yanglei3kyou"

  s.platform     = :ios

  s.source       = { :git => "https://github.com/yanglei3kyou/MethodFactory.git", :tag => "0.0.1" }

  s.source_files  = "MethodFactory", "MethodFactory/**/*"

  s.public_header_files = "MethodFactory/**/*.h"

  s.vendored_libraries = 'MethodFactory/*.a'


  s.frameworks = "Foundation", "UIKit"

  s.requires_arc = true

end

b 参数解释
s.license
Pods依赖库使用的license类型

s.source_files
表示源文件的路径,注意这个路径是相对podspec文件而言的。

s.frameworks
需要用到的frameworks,不需要加.frameworks后缀。

3、创建.podspec文件 (在 Git仓库根目录)
a 创建文件,填写内容(上方示例内容),根据内容进行修改
b Terminal命令 $ pod spec create MethodFactory

四、关于LICENSE文件
CocoaPods 要求所有的Pods依赖库都必须包含license文件,否则在发布CocoaPods官方时不予通过验证。
license的类型有很多种,详情可以参考网站https://tldrlegal.com。在创建github仓库的时候,已经选择了MIT类型的license。

五、关于主类文件
创建Pods依赖库就是为了方便别人使用我们的成果,比如我想共享给大家的MethodFactory类,提供给广大用户使用,这个类自然是必不可少的。我把这个类包含的两个文件放到一个名称为MethodFactory的文件夹中,对应的目录结构如图:


六、关于Demo工程
为了快速地教会别人使用我们的Pods依赖库,通常需要提供一个Demo工程。我创建的Demo工程放到了一个名为MethodFactoryDemo的文件夹中,该目录包含的文件如下图所示:


七、关于README.md
使用github的人应该都熟悉这个文件,它是一个成功github仓库必不可少的一部分,使用的是markdown标记语言,用于对仓库的详细说明。
添加完上方文件后,Github本地仓库目录就如下图所示



八、将本地仓库提交到 Github 中
1、pod 验证
$ set the new version to 1.0.0
$ set the new tag to 1.0.0
$ pod lib lint

注意: pod 验证过程中,出现任何warning 或者 error信息,验证都会失败,请按照提示信息,进行修改

2、上传到 Github 中
$ git add -A && git commit -m “Release 1.0.0."
$ git tag ‘1.0.0'
$ git push --tags
$ git push origin master


九、不发布此Pods,直接使用Pods
如果没有计划在CocoaPods中发布此Pods,可直接在项目的Podfile文件中添加该 Pods并使用。
pod ‘MethodFactory’, :git => 'https://github.com/yanglei3kyou/MethodFactory.git'

十、上传pod spec文件到 CocoaPods官方仓库中
新版CocoaPods上传pod spec再也不需要像以往那种 - fork仓库合并代码了。
新版CocoaPods引入 pod trunk 来方便开发者上传自己的pod。

官方指导文档为

我们简化一下流程,就变成了
1.在pod trunk注册自己的信息

$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'



2.找到自己封装的xxx.podspec文件,并上传

$ pod trunk push xxx.podspec





3.提交完之后,若想查看自己的库,可以直接使用

$ pod search xxx




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值