给自己的开源项目添加CocoaPods支持

时间:2022-10-21 09:47:55

摘要:

CocoaPods是提供对第三方库依赖的管理工具,通过CocoaPods我们可以方便的管理每一个第三方库:添加、删除和更新,不需要我们做太多的配置工作,如此便可直观、集中和自动化地管理我们项目的第三方库。

本文不对CocoaPods做全面的介绍,想对CocoaPods做更多了解的可以阅读这篇文章:Cocoapods完整使用篇。本文主要介绍一下如何给自己的开源项目添加CocoaPods的支持。

 

一、创建一个配置文件(pod spec create 文件名)

要使得我们的项目支持CocoaPods,就需要告诉CocoaPods我们的项目的一些信息:源文件地址、支持的平台和版本、编译条件、依赖的系统库及第三方的库等等。这些信息是通过一个以“spec”为扩展名的文件存储起来的。因此,我们需要创建这个配置文件,编辑好项目的配置信息,然后把这个文件上传给CocoaPods。

pod spec create YQXxxxxxx

 

二、编辑配置文件(配置项目的信息)

  9 Pod::Spec.new do |s|

18 s.name = "YQTest" #项目名称
19 s.version = "0.0.1" #项目版本
20 s.summary = "A short description of YQTest." #项目摘要
28 s.homepage = "http://EXAMPLE/YQTest"
39 s.license = "MIT"
53 s.author = { "yanghy" => "yanghy2013@gmail.com" }

64 #项目支持的平台及系统版本,若只支持ios,删除注释符号
65 # s.platform = :ios
66 # s.platform = :ios, "5.0"
67
68 # When using multiple platforms
69 # s.ios.deployment_target = "5.0"
70 # s.osx.deployment_target = "10.7"
71 # s.watchos.deployment_target = "2.0"
72 # s.tvos.deployment_target = "9.0"

81 s.source = { :git => "http://EXAMPLE/YQTest.git", :tag => 0.0.1" }
92 s.source_files = "Classes", "Classes/**/*.{h,m}" #源文件
118 #依赖的系统框架
119 # s.framework = "SomeFramework"
120 # s.frameworks = "SomeFramework", "AnotherFramework"
121
122 #第三方依赖
123 s.dependency "Masonry", "~>0.6"
135 # 是否支持arc
136 s.requires_arc = true

141 end

 

三、配置代码仓库

因为在第二步的配置文件中给版本号配置了:0.0.1,因此我们须要给我们的项目配置一个tag,使用如下命令

1 git tag 0.0.1 #添加一个tag
2 git push --tags #推送tag到远程

 

 

四、验证我们的配置是否正确

1 pod spec lint YQXxxx.podspec

我在配置过程中出现吃错误:

1、因为项目中使用了UIKit,但是在配置中没有指定平台,因此在OSX平台上编译错误

解决办法:指定项目的平台 (# s.platform = :ios)

2、没有指定系统的版本号,在不支持arc的系统下编译失败

解决办法:指定系统版本(# s.platform = :ios, "5.0")

 

五、提交到CocoaPods

1 pod trunk push YQXxxx.podspec

没有配置作者的会出现:[!] You need to register a session first.错误,此时用如下命令注册一个会话后再提交

1 pod trunk register email "name" --description="macbook pro"

 

到此为止,你就可以使用pod search 搜索到你的项目了!