将代码添加到CocoaPods

将组件上传到github后,接下来就是需要支持CocoaPods,这样就能让更多人更方便去使用。接下来以我的开源项目YKLaunchAd为例。

### 1. cd进入项目目录,然后输入

> git tag '1.0.0'

> git push --tags

> git push origin master

给项目加入一个tag,以便pod能自动识别,这里的版本号和后面.podspec文件里的s.version一样。

### 2. 注册trunk账号

如果之前没有注册,第一步要先注册

> pod trunk register userEmail 'userName' --description='macbook pro'

如果成功,在控制台会显示[!] Please verify the session by clicking the link in the verification email that has been sent to [email protected]。这里我用[email protected]的邮箱提示成功,但始终没收到邮件。收到邮件后进入链接页面激活。

激活后在控制台使用`pod trunk me`查询注册信息

如果你想添加其他维护者

> pod trunk add -owner ARAnalytics [email protected]

### 3. 生成.podspec描述文件

> $ pod spec create YKLaunchAd

会生成一个YKLaunchAd.podspec文件,你也可以使用vim创建,只是没有默认文本,或者对其它类似成熟开源项目的.podspec文件修改。

### 4. 编辑.podspec

创建好的 .podspec 包含大量的注释说明了每个参数的含义及用法。如果想详细了解可以仔细阅读。有些用不到的就删除掉。下面是我的.podspec文件

```

Pod::Spec.new do |s|

s.name        = "YKLaunchAd"

s.version      = "1.0.0"

s.summary      = "几行代码接入启动页广告,自带图片下载、缓存功能,无任何第三方依赖,支持GIF、自定义广告frame,支持自定义广告结束转场动画,支持iPhone/iPad等功能"

s.homepage    = "https://github.com/jinstar520/YKLaunchAdDemo"

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

s.authors      = { "jinstar520" => "[email protected]"}

s.platform    = :ios, "7.0"

s.source      = { :git => "https://github.com/jinstar520/YKLaunchAdDemo.git", :tag => s.version }

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

s.requires_arc = true

end

```

.podspec文件不要用文本编辑打开,因为"会是中文的。使用支持MarkDown编辑的编辑器打开。

这里s.source_files很重要,是你cocoapods所需要的文件路径,常见写法

>"Directory1/*"

>"Directory1/Directory2/*.{h,m}"

>"Directory1/**/*.h"

- “*” 表示匹配所有文件

- “*.{h,m}” 表示匹配所有以.h和.m结尾的文件

- “**” 表示匹配所有子目录

以"YKLaunchAd/**/*.{h,m}"为例,因为在YKLaunchAd下有Category子目录。

### 5. 验证.podspec

编辑好后最好先验证 .podspec 是否有有效

> $ pod spec lint YKLaunchAd.podspec

验证成功后:

> YKLaunchAd.podspec passed validation.

如果验证失败,首先测试本地 .podspec 文件是否存在语法错误,特别是s.source_files有没有写错,是否含有中文字符等,这里先不对错误排查进行说明。

### 6. 发布到CocoaPods

验证.podspec通过后,就可以发布了

> pod trunk push YKLaunchAd.podspec

发布时会验证 Pod 的有效性,如果你在手动验证 Pod 时使用了 --use-libraries 或 --allow-warnings 等修饰符,那么发布的时候也应该使用相同的字段修饰,否则出现相同的报错。

> pod trunk push YKLaunchAd.podspec --use-libraries --allow-warnings

发布成功后,就可以使用 pod search 搜索到你的 Pod 了!

### 7. 版本升级

当需要更新 Pod 版本的时候,修改 .podspec 中的 s.version 为更高的版本号,并修改 s.source 中对应的 Git 版本。提交到Git,并打上对应tag。然后再次执行pod trunk push YKLaunchAd.podspec将新的 .podspec 发布到 CocoaPods。

为了更新更加方便,版本控制更加清晰,s.source 建议采用如下写法:

> s.source = { :git => "https://github.com/jinstar520/YKLaunchAd.git", :tag => s.version }

你可能感兴趣的:(将代码添加到CocoaPods)