CocoaPods私有库创建流程

    用CocoaPods来对项目中需要的第三方库进行导入是相当方便的;但是如果想对自己日常的积累的库也能使用CocoaPods来进行导入是相当方便的一件事;下面赘述一下完成的一个流程:

1.首先得有一个Git仓库,GitHub的私有仓库需要收费;可以使用其他的平台来创建私有仓库(比如:CODING开源中国BitbucketCSDN),这里我用的是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了会提示

参考文章:http://blog.wtlucky.com/blog/2015/02/26/create-private-podspec/

之前的三个库都出现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字段的类库。
拿走,不谢!

推荐阅读更多精彩内容

  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 16,622评论 0 38
  • 转自:http://www.cnblogs.com/XYQ-208910/p/6214066.html一、感慨说实...
    Joshua520阅读 340评论 0 2
  • Ruby 安装 要安装cocospods 首先需要安装ruby,可以先安装xcode,再安装macport ,最后...
    山天大畜阅读 1,315评论 0 1
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 21,932评论 3 48
  • 这几天脑海中一直在想那个“故事了”。想要写的故事很多,但现在还不是时候。比起散文、随笔之类的体裁,我还是更喜欢写小...
    筱阿诚阅读 139评论 4 1
  • 第四章 第二天,六耳刚起来就就地打坐,凝神感应外面的动静,昨天毕竟也是一番大闹,难保不会惹到什么人,山中的各位前辈...
    冷酒暖回忆阅读 76评论 1 2
  • 图文:梦江南 松泉公,大名周松泉,江西广丰人。太平天国的...
    梦江南阅读 156评论 0 0
  • Cocoa 我们首先说一下为什么新建一个类的时候我们都是选择Cocoa Class呢?什么是Cocoa? Coco...
    泼茶_阅读 2,678评论 0 7
  • 第一次写,都不知道写点什么。但是一定要写啊!
    乐小千阅读 39评论 0 0