用CocoaPods来对项目中需要的第三方库进行导入是相当方便的;但是如果想对自己日常的积累的库也能使用CocoaPods来进行导入是相当方便的一件事;下面赘述一下完成的一个流程:
1.首先得有一个Git仓库,GitHub的私有仓库需要收费;可以使用其他的平台来创建私有仓库(比如:CODING、开源中国、Bitbucket、CSDN),这里我用的是GitHub;有账号之后就开始创建仓库
点击红色框创建项目,然后出现以下界面:
2.这样一个仓库就创建完成,下面就是把仓库同步到电脑上,我用的是github的客户端,挺方便的。直接
就可以同步到本地;下面是配置spec文件,除开MD,其他两个文件都是必须添加的文件
A.首先生成LICENCE文件,名字一定要是这个
在下图标记处输入LICENCE后会提示你选择文件类型;
选择MT这一列
红线方框自动给你填入,点击提交就行
自此就完成LICENCE的创建
3.podspec的创建,创建podspec文件先要把你的项目放进本地仓库里面,层级关系最好是按照这样,否则写修改podspece文件中的路径关系会搞晕;
4.然后cd到你项目的目录,执行命令
// 注 xxxx 这个是你框架的名称
$ pod spec create xxxx
5.编辑.pod spec
Pod::Spec.new do |s|
s.name = "xxxx"
s.version = "1.0.0"
s.ios.deployment_target = '7.0'
s.summary = "A delightful setting interface framework."
s.homepage = "https://github.com/coderYJ/xxxx"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "coderYJ" => "你的账户" }
s.social_media_url = "你的邮箱"
s.source = { :git => "https://github.com/coderYJ/xxxx.git", :tag => s.version }
s.source_files = "xxxx/*.{h,m}"
s.resources = "xxxx/xxxx.bundle"
s.requires_arc = true
end
接下来讲解一下每行代码的含义
s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version:版本号
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.homepage:项目主页地址
s.license:许可证
s.author:作者
s.social_media_url:社交网址,这里我写的微博默认是Twitter,如果你写Twitter的话,你的podspec发布成功后会@你
s.source:项目的地址
s.source_files:需要包含的源文件
s.resources: 资源文件
s.requires_arc: 是否支持ARC
s.dependency:依赖库,不能依赖未发布的库
s.dependency:依赖库,如有多个可以这样写
6.将包含配置好的 .podspec, LICENSE 的项目提交 Git
git tag "v1.0.0"
git push --tags
然后执行命令
pod spec lint xxx.podspe
如果失败会提示错误信息,耐心看一下;成功会显示
7.然后注册Trunk
trunk需要CocoaPods 0.33版本以上,用pod --version
命令查看版本,
如果版本低,需要升级:
sudo gen install cocoapods
pod setup
已经注册过的不需要注册,怎么看自己有没有注册
pod trunk me
注册
// 加上--verbose可以输出详细debug信息,方便出错时查看。
pod trunk register 你的账号 "用户名" --verbose
注册完成之后会给你的邮箱发个邮件,进入邮箱邮件里面有个链接,需要点击确认一下
8.发布
发布时会验证 Pod 的有效性,如果你在手动验证 Pod 时使用了 --use-libraries 或 --allow-warnings 等修饰符,那么发布的时候也应该使用相同的字段修饰,否则出现相同的报错。
pod trunk push xxx.podspec
如果OK了会提示
之前的三个库都出现pod search 找不到,用的是pod setup 然后在rm 本地的json,之后search就ok了
相信有的小伙伴已经成功安装了CocoaPods,也可以正常使用,然而会发现执行`pod search`来搜索类库信息时,却总是`[!] Unable to find a pod with name, author, summary, or descriptionmatching '······'`。在此我分享一下自己的经验,希望能给您提供帮助。(此贴是在成功安装CocoaPods,但不能pod search搜素类库的情况下探讨问题)。
执行pod setup
其实在你安装CocoaPods执行pod install时,系统会默认操作pod setup,然而由于中国强大的墙可能会pod setup不成功。这时就需要手动执行pod setup指令,如下:
终端输入:pod setup
会出现Setting up CocoaPods master repo,稍等几十秒,最底下会输出Setup completed。说明执行pod setup成功。
如果pod search操作还是搜索失败,如下:
终端输入:pod search AFNetworking
输出:Unable to find a pod with name, author, summary, or descriptionmatching 'AFNetworking' 这时就需要继续下面的步骤了。
删除~/Library/Caches/CocoaPods目录下的search_index.json文件
pod setup成功后,依然不能pod search,是因为之前你执行pod search生成了search_index.json,此时需要删掉。
终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
删除成功后,再执行pod search。
执行pod search
终端输入:pod search afnetworking(不区分大小写)
输出:Creating search index for spec repo 'master'.. Done!,稍等片刻······就会出现所有带有afnetworking字段的类库。
拿走,不谢!