一 、创建本地仓库
1 :首先安装了 pod,sourceTree(下载地址https://pan.baidu.com/s/1c1Wc5ck), 并在开元中国申请的 git 账号
2 :打开终端:
cd 文件目录地址(任意文件夹,也可以是桌面)
3 :在终端中输入命令行:
pod lib create 项目名称 // 这里是从官方下载模板下载的地址在你cd 的文件加下
4 : 之后会提示出输入一些信息
What is your email?
> 这里输入你开元中国的邮箱账号
What language do you want to use?? [ Swift / ObjC ]
> 这里输入你使用的语言
Would you like to include a demo application with your library? [ Yes / No ]
> 这里输入你是否需要生成一个 demo 应用,这里最好 Yes 这样你可以查看你创建的库是否可以使用
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> 这里输入你需要用到的测试框架,随意选
Would you like to do view based testing? [ Yes / No ]
> 是否做基于视图的测试 Yes/No 都可以
What is your class prefix?
> 输入前缀 例如:lyj
回车之后在我们cd 的目录下面会帮我们创建好一个 xcode 模板
5: 在 Example 文件下会有一个 供我们测试使用的 demo 打开 .xcworkspace文件(如果我们的 cocoapods 安装的有问题那么不会生成这个文件,但是会有一个Podfile文件,我们在终端中输入命令行:cd Example 的文件目录 ,再次输入命令行:pod install, 之后会帮我们生成一个 .xcworkspace文件,这里需要关闭原来打开的 demo 文件入后使用 工程名.xcworkspace 打开)
6: 配置信息,在 demo 工程中有一个 Podspec Metadata 文件夹,查看里面的白文件: 工程名. podspec 配置里面的信息,这里我对每行做了注释说明,说明配置信息的作用
清除掉里面的说明注释会得到下面的内容
Pod::Spec.new do |s|
s.name = 'MyTestSecondLibrary' # 这里是工程的名称
s.version = '0.1.0' # 这里是公共库的版很号
s.summary = 'A short description of MyTestSecondLibrary.' # 这里对你写的库进行简要的概述一下
s.description = <<-DESC # 下面可以输入你可以的具体使用方法,使用方法写在 <<-DESC 这里写库的使用方法 DESC
TODO: Add long description of the pod here.
DESC
s.homepage = 'https://github.com/***...' # 你库的地址,可以在开元中国创建你的库,不需要使用什么初始化方法,不要勾选 readme 会生成一个地址输入到这里
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' # 屏幕快照的地址,例如演示的 gif 文件
s.license = { :type => 'MIT', :file => 'LICENSE' } # 这里不需要改变,使用默认
s.author = { '发布人名称(可以是昵称)' => '开元中国的邮箱' } # 这里需要输入发布者的昵称,以及你要发布的网站的账号,如果在开元中国申请的 git 账号,这里输入你申请时的邮箱
s.source = { :git => 'git 账号邮箱', :tag => s.version } # 这里输入邮箱如果你在开元中国申请的 git 账号,那么把你在开元中国创建的项目的 https 网址输入到这里,
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' # 这里可以不用管
s.ios.deployment_target = '8.0' # iOS 支持的级别,这里最低8.0,(xcode 升级的8后最低也就是8.0,以后升到9再说)
s.source_files = 'MyTestSecondLibrary/Classes/**/*' # 你库文件存放的目录位置,这里通过文件 项目名.xcodeworkspace 打开 xcode,如今打了 pods -> Development Pods -> 工程名 -> 工程名 -> Classes 在 Classes 这个文件夹下我们存放我们创建的类文件(.h,.m文件)
s.resource_bundles = { # 这里存放的 bundle 文件的例如,
'工程名称' => ['工程名称/Assets/*.png'] # 这里放的 png 图片的资源文件,如果还想使用 storyboard,xib,imageset 文件的话,可以如下面的方法写
# '工程名称' => ['工程名称/Assets/*.{png,xib,storyboard,imageset}']
# 如果我们使用 xib , storyboard , 图片等资源的时候文件必须强制性放到 Assets 文件夹下,这个文件夹在初始化的时候,并没有显示在工程中,不过可以通过 show in Finder classes 文件查看,发现里面有一个同级别的文件夹 Assets , 我们把我们创建的资源文件拖入到这个文件夹下,然后重新在终端中输入命令行: cd .../Example,然后pod install 再次查看会发现 Assets 文件夹与 classes 同时存在
}
# s.public_header_files = 'Pod/Classes/**/*.h'
s.frameworks = 'UIKit', 'MapKit' # 这里输入需要用到的依赖库,如果没有特别的需要可以不用输入注释掉
# s.dependency 'AFNetworking', '~> 2.3' # 如果你的公共库需要依赖其他库,那么打开这里的注释,例如AFNetworking如事例,
s.dependency 'AFNetworking'
s.dependency 'SDWebImage' # 如果需要多个依赖库一次往下写入
end
7: 在开元中国创建我们的远程库,输入项目名称,项目描述,选择开发语言,我们做的是公开库,这里选择公开, 我们不要初始化这个工程,因为我们的工程是从本地上传上去,所以三个初始化方式都不要勾选,然后点击创建,完成我们远程库的创建
8: 然后获取我们远程项目库的 https 地址,在第6步配置 s.name, s.source, 这里输入我们在开元中国创建的远程库的 https 网址
9: 在终端中: 输入命令行:
$ cd 工程文件夹(Example 的上衣层级)
$ git remote add origin "你工程远程仓库的地址,也就是你在开元中国创建的项目 https 网址" # 推送到远程仓库
$ git add .
$ git commit -s -m "这里输入提交描述"
$ git commit 版本号
$ git push --tags 提交版本号
10: 校验我们第6步的校验信息
$ pod lib lint --allow-warnings(忽视警告) --verbose(查看详细信息)
如果:工程名 passed validation.那么没有问题
11: 提交到远程仓库
$ pod repo push 项目名 --allow-warnings(忽视警告) --verbose(查看详细信息)
二、提交私有库
1: 校验索引
$ pod spec lint --allow-warnings(忽视警告) --verbose(查看详细信息)
2: 提交到私有仓库
$ pod repo push 项目名.podspec [远程私有库地址] --allow-warnings(忽视警告) --verbose(查看详细信息)
三、提交公开库
1: 添加信任
$ pod trunk register git账号(邮箱) '名称' --description='描述内容随意写' # git账号邮箱,是你在开元中国申请的 git 账号,'名称',可以是你的账号昵称,也可以是你的真是名称,也可以不写, descrition='',这里可以随意填写也可以不写
$ pod trunk register git账号(邮箱) # 简化版本
如果出现
Please verify the session by clicking the link in the verification email that has been sent to 6*******4@qq.com
去你自己的邮箱拷贝发送的网络连接并打开,出现
#### You can go back to your terminal now.
说明验证成功,以后你这台设备,以及这个账号就不要再次验证了,如果你有多个账号,这个方法也是在告诉你的 git 推送你的库到哪个个 账号上去
$ pod trunk me # 在终端中验证信息是否通过
- Name: 名称
- Email: git 账号
- Since: February 7th, 07:41
- Pods:
- MyLibraryYaJun
- MySecondLibrary
- PodTestLYJ
- MyTestLibraryLYJ
如果出现上面的信息验证通过(这里只需验证一次就可以了,以后不需要再验证)
14: 所有配置完成后
把我们创建好的工程推送到 git
$ pod trunk push 工程名.podspec --allow-warnings # --allow-warnings 可以不加,加了最好,如果你的配置文件有警告,那么无法推送成功
这时候需要等一会,有时候快,有时候慢,碰运气了
🎉 Congrats
🚀 工程名 (0.1.0) successfully published
📅 March 22nd, 01:58
🌎 https://cocoapods.org/pods/工程名
👍 Tell your friends!