CocoaPods是iOS开发用于管理第三方库的 不可获取的 工具,在使用别人库的同时,我们有时候也想做一个自己的开源库,所以看到这篇文章,你就应该准备入门了。
知识储备:
一、Git使用
Git命令:
Git常用命令传送门:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html熟悉下简单的Git操作。
Git系统学习传送门:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
二、cocoapods安装和使用
CocoaPods官网:http://cocoapods.org/
CocoaPods安装和使用:http://blog.csdn.net/sanjunsheng/article/details/28398455
Podfile文件编辑:http://blog.csdn.net/xdrt81y/article/details/30631595
制作自己的Pod开源库
一、开源库制作基本步骤:
1、首先,申请一个 Github、或者Coding.net 账号
2、GitHub或者coding上 创建一个仓库
3、把仓库克隆到本地 (让本地文件 和 仓库建立连接)编辑仓库内容
4、仓库内容整理好之后 创建 podspec文件 编辑文件 (这一步是关键)
5、验证 podspec文件格式是否正确
6、提交仓库到 cocoapod
7、安装pod仓库
二、For Example
Ok,下面开始详细讲解:
1、申请账号
GitHub :国际化的 比较大的开源平台,个人非常喜欢。Github的目的是开源交流,如果普通账号想要创建私有库,是需要花钱的,怎奈何公司网络太慢,我只是闲时才会去看看。
Coding.net: 中国的GitHub,支持国货。这个平台是可以免费享有 创建私有库 权限的,推荐!!!!~~~~
2、在你所创建的平台上 创建一个公有的 开源仓库 (这里以Coding平台的podTestLibrary 为例)
需要注意的是三个点:
1、仓库名字 这个根据你项目 后者开源库命名自定义就可以了。
2、项目是否开源 :开源库 项目肯定是要开源的,毫无疑问。
3、License:通行证,最好是在平台上创建,用Git 终端 工具创建仓库默认都是不带 MIT License文件的。这个文件表明,你允许别人访问你的开运库,就相当于是一个权限声明。
3、把平台上创建的仓库 克隆到本地
$git clone podTestLibary
克隆到本地以后,就把网络仓库和本地仓库创建联系了。接下来,你就创建 包含你要分享的开源库就好了。
$ pod repo add podTestLibraryhttps://git.coding.net/Kael_zzs/podTestLibrary.git
这个是Pod的方式 将仓库克隆到本地 的pod repo库中。
另:创建项目的时候,pod有个模板命令:
pod libcreate[your_project_name]
4、创建 podSpec文件。
# Be sure to run `pod lib lint QGGImagePicker.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
s.name = "QGGImagePicker"
s.version = "0.0.1"
s.summary = "QGGImagePicker."
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
A ImagePicker Like WeChat's ImagePicker
DESC
s.homepage = "https://github.com/infiniteQin/QGGImagePicker.git"
# s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
s.license = 'MIT'
s.author = { "changqin" => "changqin@ixiaopu.com" }
s.source = { :git => "https://github.com/infiniteQin/QGGImagePicker.git", :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/'
s.platform = :ios, '7.0'
s.requires_arc = true
s.source_files = 'Pod/Classes/**/*','Pod/Classes/**/**/*'
#s.resource_bundles = {
# 'QGGImagePicker' => ['Pod/Assets/*.png']
#}
#s.resources = "Pod/*.xcassets"
# s.public_header_files = 'Pod/Classes/**/*.h'
s.frameworks = "UIKit", "AssetsLibrary"
s.dependency 'Masonry', '~> 0.6.3'
end
s.name="FYAlbum"开源库名称
s.version="1.0.1"开源库版本(这个版本很关键,最好跟开源库的稳定relese版本的tag 保持一致)
s.license="MIT"通行证
s.summary="Fast encryption string used on iOS, which implement by Objective-C."简介
s.homepage="https://github.com/ifgyong/FYAlbum"开源库主页
s.author= {"fgyong"=>"fgyong@yeah.net"} 作者信息
s.source= { :git =>"https://github.com/ifgyong/FYAlbum.git", :tag => s.version} 网络仓库地址
s.requires_arc=true是否是ARC
s.source_files="FYAlbum/*/*"资源文件路径
s.platform= :ios,'8.0'支持平台
s.framework='Foundation','UIKit'依赖的framework
s.dependency'Masonry','~> 0.6.3' 依赖的第三方库
搞定这些参数,基本上就Ok了,然后就是git提交的问题了
git add -A && git commit -m "Release 0.1.0"
git tag '0.1.1' 注:s.version要和这里对应
git remote add origin git@github.com:sapphirezzz/ZInAppPurchase.git
git push --tags
git push origin master
5、验证 podSpec文件 格式是否正确。
$pod lib lint ***.podSpec --allow-warnings --verbose
--allow-warnings:允许有警告 。即使有警告⚠️, 也能验证通过
--verbose:允许有编译错误。即使有编译错误也能通过验证
验证通过就可以上传了
6、提交仓库到Pod服务器。
最期待的一部操作:
$pod trunk push podTestLibary.podspec --allow-warnings
这一步耗时较多,耐心等待吧~
私有库制作:
1、GitHub或者coding上 创建一个仓库
这里需要创建的是一个私有仓库
2、把仓库克隆到本地 (让本地文件 和 仓库建立连接)编辑仓库内容
3、仓库内容整理好之后 创建 podspec文件 编辑文件 (这一步是关键)
4、验证 podspec文件格式是否正确
5、提交仓库到 cocoapod
6、制作索引文件 分发读写权限
pod ipc spec DataInterface.podspec >> DataInterface.podspec.json
7、安装pod仓库
私有库使用:
首先,安装cocoaPods;
然后,获取作者的授权
接着,获取作者的 索引文件(仓库信息的json文件)
放到 ~/.cocoaPods 内repo 列表中
最后,按照正常的步骤导入项目就行了~
网友评论