[HMLY]4.CocoaPods详解----制作

上图中标了序号的共有6处,对应的说明如下:
1.Respository name
仓库名称,这里写成FZMarqueeView,必填的;
2.Description
仓库的描述信息,可选的;
3.仓库的公开性
这里只能选public,一个是因为Private是要钱的,另一个private别人看不到无法共享。
4.是否创建一个默认的README文件
一个完整的仓库,都需要README文件,建议选上。当然不嫌麻烦也可以在后面手动创建一个。
5.是否添加.gitignore文件
.gitignore文件里面记载了若干种文件类型,凡是该文件包含的文件类型,git都不会将其纳入到版本管理中。是否选择看个人需要;
6.license类型
正规的仓库都应该有一个license文件,pods依赖库对这个文件的要求更严,是必须要有的。因此最好在这里让github创建一个,也可以自己后续手动创建,这里使用的license类型是MIT。
上面的各项都填写完毕后,点击Creat respository按钮即可,创建成功界面如图:
到这,仓库的创建就结束了。
二、clone仓库到本地
为了方便向仓库增删内容,需要先将仓库clone到本地,操作方式有多种,推荐使用命令行:
- $ git clone https://github.com/11010/FZMarqueeView.git
操作完成后,github上对应的文件都会拷贝到本地,目录结构如上。
github上仓库中的.gitignore文件是以.开头的隐藏文件,因此这里只能看到两个。后续我们所有文件增删改都在这个目录下进行。
三、向本地git仓库中添加创建pods依赖库所需文件
注意:以下描述的文件都要放在步骤二clone到本地的git仓库的根目录下面。
1、后缀为.podspec文件
该文件为pods依赖库的描述文件,每个pods依赖库必须有且仅有那么一个描述文件。文件名称要和我们想创建的依赖库名称保持一致,我的FZMarqueeView依赖库对应的文件名为FZMarqueeView.podspec。
1.1podspec文件内容
WZMarqueeView.podspec的保存内容为:
- Pod::Spec.new do |s|
- s.name = "WZMarqueeView"
- s.version = "1.0.0"
- s.summary = "A marquee view used on iOS."
- s.description = <<-DESC
- It is a marquee view used on iOS, which implement by Objective-C.
- DESC
- s.homepage = "https://github.com/wangzz/WZMarqueeView"
- # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
- s.license = 'MIT'
- s.author = { "王中周" => "wzzvictory_tjsd@163.com" }
- s.source = { :git => "https://github.com/wangzz/WZMarqueeView.git", :tag => s.version.to_s }
- # s.social_media_url = 'https://twitter.com/NAME'
- s.platform = :ios, '4.3'
- # s.ios.deployment_target = '5.0'
- # s.osx.deployment_target = '10.7'
- s.requires_arc = true
- s.source_files = 'WZMarqueeView/*'
- # s.resources = 'Assets'
- # s.ios.exclude_files = 'Classes/osx'
- # s.osx.exclude_files = 'Classes/ios'
- # s.public_header_files = 'Classes/**/*.h'
- s.frameworks = 'Foundation', 'CoreGraphics', 'UIKit'
- end
该文件是ruby文件,里面的条目都很容易知道含义
其中需要说明的有几个参数”
(1)s.license
pods依赖库使用的license类型,大家都天上自己对应的选择即可。
(2)s.source_files
表示源文件的路径,注意这个路径是相对podspec文件而言的。
(3)s.frameworks
需要用到的frameworks,不需要加.frameworks后缀。
1.2如何创建podspec文件
大家创建自己的podspec文件可以有两个途径:
(1)copy上面的podspec文件然后修改对应的参数,推荐使用这种方式。
(2)执行以下命令
- $ pod spec create WZMarqueeView
也会创建名为FZMarqueeView.podspec的文件。但是打开创建玩的文件你就会发现里面东西太多了,很多都是我们不需要的。
2、LICENSE文件
CocoaPods强制要求所有的Pods依赖库都必须有license文件,否则验证不会通过。license的类型有很多种,详情可以参考网站tl;dr Legal。在创建github仓库的时候,我们一斤该选择了MIT类型的license。
3、主类文件
创建Pods依赖库就是为了方便别人使用我们的陈国,比如我想共享给大家FZ类,是我想提供给广大用户使用的,这个类自然不可少,我把这个类包含的两个文件放到一个名为FZ的文件夹总,对应的目录结构如图:
里面包含两个文件:WZMarqueeView.h和WZMarqueeView.m
4、demo工程
为了快速教会别人使用我们的pods依赖库,通常要提供一个demo工程。我创建的demo工程放到了一个名为WZdemo的文件夹中,该目录包含文件如下:
5、README.md
使用github的人应该都熟悉这个文件,他是成功gith仓库必不可少的一部分,使用的是markdown标记语言,用于对仓库的详细说明。
以上所有的5个是创建pods依赖库所需要的最基础文件,其中123是必须的,45是可选但强烈推荐的。添加完这些文件以后,我的github本地仓库目录就编程了下面所示的样子:
未完
[HMLY]4.CocoaPods详解----制作的更多相关文章
- [HMLY]2.CocoaPods详解----进阶
作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处 一.podfile.lock文件 ...
- [HMLY]1.CocoaPods详解----使用
作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/18737437 转载请注明出处 一.什么是cocoaPods 1.为 ...
- CocoaPods详解之(三)----制作篇
CocoaPods详解之----制作篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/20067595 转载请注明出处 ...
- CocoaPods 详解之----更新篇
CocoaPods 大概是 2011 年出现的开源组件管理工具(目前已支持 Objective-C 和 Swift),近年来普及率越来越高,几乎已是所有 Cocoa 开源项目的标配.另外,很多大点的团 ...
- CocoaPods详解之(二)----进阶篇
CocoaPods详解之----进阶篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处 ...
- CocoaPods详解之(一)----使用篇
CocoaPods详解之----使用篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/18737437 一.什么是Coc ...
- CocoaPods详解之----制作篇【转】
Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...
- 详解-制作根文件系统,并使用yaffs,jffs,nfs挂载系统(2)
1.安装mkyaffsimage, mkyaffs2image命令(用来制作yaffs文件系统) 第一个命令针对Flash小页512B,第二个针对Flash大页2KB首先下载压缩文件 yaffs_so ...
- CocoaPods详解之----进阶篇
作者:wangzz原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信 ...
随机推荐
- 活动图activity diagram
活动图activity diagram 系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类 ...
- jQuery event的复制粘贴的坑
jQuery为了兼容性会把系统暴露出来的event重新整理一遍,但是复制粘贴的event就被丢掉了. 所以要在所有原生浏览器想实现复制粘贴,大家都用flash实现了.其实只要用原生的方法捕获事件就ok ...
- JForum2.1.9 安装过程
JForum2.1.9 安装过程 JForum2.1.9 安装过程 2013/08/10 0:48 1.第一次接触 2013/08/08 在开源中国看到一个国外开源的Java论坛,然后下载JForum ...
- 关于前端JS模块加载器实现的一些细节
最近工作需要,实现一个特定环境的模块加载方案,实现过程中有一些技术细节不解,便参考 了一些项目的api设计约定与实现,记录下来备忘. 本文不探讨为什么实现模块化,以及模块化相关的规范,直接考虑一些技术 ...
- LigerUI权限系统之角色管理
角色管理比前面几个页面都稍显复杂点.好吧,还是先看图. 左边是角色列表,右边是页面列表,它们也是多对多的关系,即一个角色可以访问多个页面,同时一个页面也可以被多个角色访问. 点击左边的角色,刷新右边页 ...
- Python -- machine learning, neural network -- PyBrain 机器学习 神经网络
I am using pybrain on my Linuxmint 13 x86_64 PC. As what it is described: PyBrain is a modular Machi ...
- 如何使用Add-on SDK开发一个自己的火狐扩展
黄聪:如何使用Add-on SDK开发一个自己的火狐扩展 火狐开放了扩展的开发权限给程序员们,相信很多人都会希望自己做一些扩展来方便一些使用. 我最近做一些项目也需要开发一个火狐扩展,方便收集自己需要 ...
- 10169 - Urn-ball Probabilities !
描述:有两个罐子,一个罐子里有一个红球,另一个罐子里有一个红球和一个白球,每次从两个罐子里各取一个球,然后在向每个罐子里各加一个白球,一次取到两个红球时就结束取球,求n次取球中至少一次为取球为红球的概 ...
- hdu 1698 Just a Hook(线段树基础)
成段更新的线段树,加入了延时标记............ 线段树这种东西细节上的理解因人而异,还是要自己深入理解......慢慢来 #include <iostream> #include ...
- 给Activity切换加入动画
在startActivity或finish()后,调用overridePendingTransition方法,可以加入动画效果.例如: 使用Android自带的淡入淡出:android.R.anim. ...