参考文献: 创建pod库
-
步骤一:创建一个pod 工程
pod lib create testDemo (pod 库的名称)
-
1.执行上边的命令之后会出现如下提示,只需要一一填写就好:
-
2.成功之后如下图:
-
3.成功之后本地项目的目录结构如下图:
-
4.对项目中的后缀为
podspec
的文件进行配置。具体配置内容如下格式:
cocoapods官网对podspec文件格式说明 具体说明如下:
Pod::Spec.new do |spec|
spec.name = 'Reachability'
spec.version = '3.1.0'
spec.license = { :type => 'BSD' }
spec.homepage = 'https://github.com/tonymillion/Reachability'
spec.authors = { 'Tony Million' => 'tonymillion@gmail.com' }
spec.summary = 'ARC and GCD Compatible Reachability Class for iOS and OS X.'
spec.source = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' }
spec.module_name = 'Rich'
spec.swift_version = '4.0'
spec.ios.deployment_target = '9.0'
spec.osx.deployment_target = '10.10'
spec.source_files = 'Reachability/common/*.swift'
spec.ios.source_files = 'Reachability/ios/*.swift', 'Reachability/extensions/*.swift'
spec.osx.source_files = 'Reachability/osx/*.swift'
spec.framework = 'SystemConfiguration'
spec.ios.framework = 'UIKit'
spec.osx.framework = 'AppKit'
spec.dependency 'SomeOtherPod'
end
-
步骤二:给 pod 库中添加类文件。
-
1.新创建一个包含
.h
与.m
的类文件放到Classes
的文件夹下边,如下图:
-
2.因为
ReplaceMe.m
是创建好pod库工程时候给的模板文件,没有用,所以移除ReplaceMe.m
这个文件。移除后Classes
如下图:
-
3.从终端进入到新建的pod库
Example
文件夹下,因为我们熟悉的Podfile
文件在这里,我们要执行pod install
把刚才新建的类文件加入到pod库中。如下图:
-
4.上边操作成功之后类文件会出现在pods库文件夹下边,然后我自己写了一个测试方法。
-
步骤三:项目push到远程服务器
-
1.先把本地的仓库的文件添加到git中,命令如下:
git add .
注意:
如果创建出来的项目默认没有git
的话,需要在这个命令之前先执行以下git init
,初始化一下。我这里是本地已经默认有git
了所以就省略了这一步。
-
2.提交内容说明:
git commit -m "first commit"
-
3.本地仓库与远程仓库关联:
git remote add origin https://github.com/624990742/[JCZJTest](https://github.com/624990742/JCZJTest)
.git
-
4.推送到远程服务器
git pull origin master
git push origin master
说明:
正规流程就是先pull,然后在push。如果是初创的项目没有特别要求也可以使用强制push的命令git push origin master -f
。
-
5.上边执行成功之后,就证明你的项目已经
push
到远程的github上的远程仓库了。
-
步骤四:给pod库上tag标签然后推送到远程服务器。
说明:
比如我们在引入Masonry
的时候会指定一个版本号pod 'Masonry', '1.0.2'
,那么我们这里在做的事情也就是给我们自己的pod 库建立一个tag分支。这个tag分支就是将来提供给别人依赖的版本号分支,有了它,别人使用你的pod库的时候就可以根据版本号来控制了。
-
1.进入到自己的pod 项目下,执行如下命令把标了tag标签的版本号也push到远程服务器。
git tag 0.1.0
git push --tags
成功之后会有一个提示:* [new tag] 0.1.0 -> 0.1.0
-
步骤五:使用trunk方式将代码发布到CocoaPods上。
-
1.在编辑好
.podspec
文件内容的前提下,使用如下命令先本地检查一下podspec是否合法。
pod lib lint --verbose
-
2.本地验证通过会出现如下提示:
-
3.联网验证
pod spec lint JCMaNongChenZaiTest.podspec
-
4.验证通过之后就可以提交到cocoapods上了。继续执行如下命令:
pod trunk push JCZJTest.podspec --verbose
若发布到自己的私有
spec
的话这里需要更改为:
pod repo push mySpecs JCZJTest.podspec
。这里的mySpecs
是我在cocoapods 中创建的一个私有存储库版本信息的仓库。
-
5.成功后,就可以pod search到我们提交的库了,如果搜不到我们的pod库。就先执行如下命令
rm ~/Library/Caches/CocoaPods/search_index.json
-
6.在执行
pod search JCZJTest
就好了。