cocoapods 创建公开公共库
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 add *
$ git commit -s -m "这里输入提交描述"
$ git remote add origin "你工程远程仓库的地址,也就是你在开元中国创建的项目 https 网址" # 推送到远程仓库
10: 校验我们第6步的配置信息
$ pod lib lint --allow-warnings
如果:工程名 passed validation.那么没有问题
11: 添加信任
$ 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
如果出现上面的信息验证通过(这里只需验证一次就可以了,以后不需要再验证)
12: 把我们配置好的工程目录(Example 的上一层级)拖到 sourceTree. 添加我们的 git 账号,设置推送地址,如果 https地址无法推送,说没有权限,我们使用 SSH 地址提交并推送到的远端
13: 推送版本号,这里必须先推送项目,之后推送版本号,顺序不能错
$ git tag "0.1.0" # 这里设置你要推送的版本号,用于版本管理,把修改的内容推送的哪个个版本,但是版本必须存在
$ git push --tags # 推送版本号
14: 所有配置完成后
把我们创建好的工程推送到 git
$ pod trunk push 工程名.podspec --allow-warnings # --allow-warnings 可以不加,加了最好,如果你的配置文件有警告,那么无法推送成功
这时候需要等一会,有时候快,有时候慢,碰运气了
------------------------------------------------------------------------------------------
cocoapods 创建公开公共库的更多相关文章
- Cocoapods 创建自己的公开库、私有库
如何创建自己的共有库 1.注册Trunk trunk需要CocoaPods 0.33版本以上,用pod --version 命令查看版本 CocoaPods版本 如果版本低,需要升级: sudo ge ...
- 创建/发布cocoapods公共库
对于大多数iOS开发者而言,cocoapods都是一个非常便捷的第三方库引导工具,该工具可以帮助我们快速导入所需第三方库,并且进行相关配置. 本文即为描述如何发布一个第三方库,提供给所有的开发者使用. ...
- 利用Cocoapods创建基于SVN的私有库podspec
由于项目年后要进行组件化,考虑到公司内部实现的一些私有组件,不对外公开,而又想在不同项目中使用,该怎么办呢?由于cocoapods有了强大的功能,可以自己创建podspec,更可以设置私有的库.那么利 ...
- 利用cocoapods创建基于git的私有库
上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...
- 利用cocoapods创建基于git的私有库Spec Repo
上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...
- iOS代码组件化--利用cocoaPods创建私有库
如果项目模块多,模块间逻辑复杂,我们发现多个人同时维护一个代码仓库需要十分小心,一不小心,造成冲突,解决起来很烦,相信很多人都遇到手工删除合并的冲突的文件的经历. 如果利用组件化思想,每个人维护自己的 ...
- 【转】使用Cocoapods创建私有podspec
Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...
- 使用Cocoapods创建私有podspec
Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...
- CocoaPods创建私有pods
由于项目需求,需要把项目的不同模块拆分出来即 组件化 ,一开始想做成多target模式,后来换成私有pods CocoaPods的安装和使用,网上很多,自行搜索即可. 听说可以基于svn创建pod私有 ...
随机推荐
- LOJ2083 [NOI2016] 优秀的拆分 【哈希】【调和级数】
题目分析: 好题!我们发现题目实际是要求出从某个左端点开始跑出去的BB型有多少个和从某个右端点开始跑出去的AA型有多少个. 发现这个问题是对称的,所以只考虑从左端点跑出去的BB型有多少个就可以了. 我 ...
- MT【328】向量里的最佳逼近
已知平面向量$\overrightarrow {a},\overrightarrow {b}$满足$|\overrightarrow {a}|=4,|\overrightarrow {b}|=2$.若 ...
- 如何对mRemoteNG在进行Linux终端访问时自定义配色
Its not that easy to config mRemoteNG custom color themes, not like XShell which is really convinent ...
- CAN通信帧ID如何设定?
CAN总线ID是包含在报文帧中的. 1.主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同.ID值越低,报文优先级越高,在两组不同ID报文同时上线时候,仲裁机 ...
- 爬虫四大金刚:requests,selenium,BeautifulSoup,Scrapy
一.简介爬虫 1.什么是爬虫 #1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. #2.互联网建立的目的? 互联网的核心价值在于数据的共 ...
- SQL随记(四)
1.for loop 循环 格式:for index in lower .. upper loop end loop; for i in 1 .. g_descTbl.count loop if ( ...
- Hive 锁处理
hive有两个锁,共享索(s) 和排它锁(x) 在进行ddl操作时,排他锁会阻止 ddl 操作.drop.alter table 如果一个hive查询使用到了表A,执行时间10分钟.在这10分钟内要d ...
- 关于IsDeleted,Islock,State类型Bit,char(1),tinyint的探讨
做IsDeleted,Islock,State时,字段的数据类型选择一般有三种Bit,char,tinyint,大于2个字节的类型我们暂时不考虑,这里以mssql为例. 数据大小: Bit,char ...
- SQL判断语句
,,decode(tts.execute_state,,'false','true')) from twf_tech_schedule tts sql判断语句
- 原生JS实现banner图的滚动与跳转
HTML部分: <div id="banner"> <!--4张滚动的图片--> <div id="inside"> < ...