1.升级Ruby环境

  1. sudo gem update --system

如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境

2.安装CocoaPods时我们要访问cocoapods.org,用淘宝的RubyGems镜像来代替官方版本,执行以下命令:

  1. $ gem sources --remove https://rubygems.org/
  2. //等有反应之后再敲入以下命令
  3. $ gem sources -a https://ruby.taobao.org/

为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

  1. $ gem sources -l

只有在终端中出现下面文字才表明你上面的命令是成功的:

  1. *** CURRENT SOURCES ***
  2.  
  3. http://ruby.taobao.org/

上面的命令,有时试了会没有效,请参考淘宝网的https://ruby.taobao.org

  1. $ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
  2. $ gem sources -l
  3. *** CURRENT SOURCES ***
  4.  
  5. https://ruby.taobao.org
  6. # 请确保只有 ruby.taobao.org
  7. $ gem install rails

3.安装Cocoapods,在终端输入命令(10.11以上,请跳过该步骤,看第4点)

  1. $ sudo gem install cocoapods

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

4.10.11以上,上面的命令是不生效了,因为10.11把cocoapods直接干掉了(这里可能会报错, Ruby的版本太低了, 必须是2.2.0以上版本, 不然

  1. sudo gem update --system 都会报错不然)
  1. sudo gem install -n /usr/local/bin cocoapods
  2. 再加一句,完美解决
  3. sudo xcode-select --switch /Applications/Xcode.app

在终端中输入如下命令来完成安装:

  1. //将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下
  2. pod setup

它需要一点时间来完成,你等就是了
如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup
命令如下:

  1. pod repo remove master
  2. pod setup

完毕之后这个文件夹大概有 将近200M,需要花费比较多时间,请耐心等待。
到这里你已经成功安装了CocoaPods

Cocoapods使用

1.使用search命令搜索类库名

  1. $ pod search AFNetworking

出现Setting up CocoaPods master repo,说明Cocoapods在将它的信息下载到 ~/.cocoapods里;

cd  到该目录里,用du -sh *命令来查看文件大小,每隔几分钟查看一次,这个目录最终大小是400多M左右,就是完成了

得到结果如下图:

从这个图上,我们看到AFN有好多版本,最新的版本是2.6.0.

2.打开xcode,新建一个工程,工程名为CocoapodsSample。

使用命令cd,cd后面跟的是工程目录名,可以直接拉进来,

回车后,输入命令创建Podfile文件

  1. $ touch Podfile

我们可以看到,在根目录下,多了一个Podfile文件

3.使用vim编辑podfile文件,使用命令

  1. $ vim Podfile

然后在Podfile文件中输入以下文字:

platform :ios, '7.0'

target "testCocoa" do

pod 'MBProgressHUD', '~> 0.8'

pod 'AFNetworking', '~> 3.0'

end

这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.5.0。

testCocoa是你项目的名字

在编辑完后按 esc,然后按":",这个时候输入wq保存退出。

这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的两行语句,如下图

4.这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:

  1. $ pod install

安装成功后,如下图:

这个时候,会看到多了一个.xcworkspace工程,以后打开项目就用 CocoapodsSample.xcworkspace 打开,而不是之前的.xcodeproj文件。

5.打开 CocoapodsSample.xcworkspace 工程,你会惊喜地发现,AFNetwoking已经成功导入项目了。

现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:

  1. #import <AFNetworking.h>
  2. 或者
  3. #import "AFNetworking.h"

然后编译,看看是否出错。如果你严格按照小编上述的步骤来,是不可能出错的啦。

另:

如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以使用以下命令更新

  1. $ pod update

关于Podfile文件编辑时,第三方库版本号的各种写法:

  1. pod AFNetworking //不显式指定依赖库版本,表示每次都获取最新版本
  2. pod AFNetworking’, 2.0 //只使用2.0版本
  3. pod AFNetworking’, ‘>2.0 //使用高于2.0的版本
  4. pod AFNetworking’, ‘>=2.0 //使用大于或等于2.0的版本
  5. pod AFNetworking’, ‘<2.0 //使用小于2.0的版本
  6. pod AFNetworking’, ‘<=2.0 //使用小于或等于2.0的版本
  7. pod AFNetworking’, ‘~>0.1.2 //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
  8. pod AFNetworking’, ‘~>0.1 //使用大于等于0.1但小于1.0的版本
  9. pod AFNetworking’, ‘~>0 //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

cocoaPods的上传

一、注册trunk

在注册trunk之前,我们需要确认当前的CocoaPods版本是否足够新。trunk需要pod在0.33及以上版本,如果你不满足要求,打开Terminal使用ruby的gem命令更新pod:

1
sudo gem install cocoapods

更新结束后,我们开始注册trunk:

1
pod trunk register zilin_weng@163.com 'weng1250'  --verbose

邮箱以及用户名请对号入座。用户名我使用的是Github上的用户名。--verbose参数是为了便于输出注册过程中的调试信息。执行上面的语句后,你的邮箱将会受到一封带有验证链接的邮件,如果没有请去垃圾箱找找,有可能被屏蔽了。点击邮件的链接就完成了trunk注册流程。使用下面的命令可以向trunk服务器查询自己的注册信息:

1
pod trunk me

输出如下信息就表示你注册成功,可以进行下面的流程:

二、配置PodSpec

在这一部分中我们需要做两件事:1、为你的代码添加podspec描述文件;2、将podspec文件通过trunk推送给CocoaPods服务器

2.1 添加podspec描述文件

这一步与更换trunk方式前的操作完全一样。什么是podspec描述文件呢?简单地讲就是让CocoaPods搜索引擎知道你的代码的作者、版本号、源代码地址、依赖库等信息的文件。任何支持CocoaPods的开源代码都必须有podspec文件。CocoaPods在github中用一个repo来管理所有支持CocoaPods的开源代码:https://github.com/CocoaPods/Specs

那如何编写podspec文件呢?官方提供了一个模板并附有非常详细的注释说明。关于podspec文件的编写本文不打算详细讲。强烈建议你看这篇文章的第三节部分,第四第五节不必看因为已经过时了。

建议直接拿一些成熟的开源库的podspec改就行,生成的模板里有很多冗余的属性。

这里要注意一点,有时你写的podspec文件在后面push的时候会提示"The `source_files` pattern did not match any file."错误,但是能用pod lib lint命令做本地校验时又是OK的。为什么呢?上述错误的意思是pod在网络上根据你指定的路径找不到相关文件。这时候你要核对网上git仓库的路径与source_files(其他_files字段同理)要对应。*_files字段指的是网络git上的路径

2.2 通过trunk推送podspec文件

现在我们已经有了自己的podspec文件,但是在推送podspec文件之前你需要确认以下几点:

1、确保你的源码已经push到Github上。如果还没push源代码,可以用Terminal cd到本地源代码的根目录,执行:

1
2
3
git add -A
git commit -m "first commit for version 1.0.0"
git push origin master

当然,你也可以使用SourceTree等GUI形式的Git客户端进行代码的推送操作。

2、确保你所push的代码已经打上"version tag",也就是给源代码打上版本号标签:

1
2
git tag '1.0.0' 
git push --tags  

只有确保了以上两点,CocoaPods才能更准确地找到你的repo。

现在我们开始通过trunk上传你的podspec文件。先cd到podspec文件所在目录,执行:

1
pod trunk push WZLBadge.podspec

文件名自行对号入座。上面的代码做了三件事:(可以对着文章开头的流程图看)

1、验证你的podspec文件是否合法。在trunk方式之前我们一般用“pod lib lint”命令进行验证。

2、上传podspec文件到trunk服务器(其实最终也会自动添加到https://github.com/CocoaPods/Specs中,只是使用trunk方式省去了以前先fork在pull request的繁琐操作)

3、将你上传的podspec文件转成json格式文件

执行上面的push操作,就相当于你把你的源代码提交给CocoaPods团队审核了,一般需要一到两个工作日可以审核结束。这种心情有点像提交App给Apple审核,哈哈。

*更正:现在CocoaPods审核只需要几秒钟或者几分钟就可以完成了。

1、s.source_files 写错了

s.source_files = "MBProgressHUD+YF/Tool/**/*.{h,m}"

2、一定要打版本

git tag '1.0.0'

git push --tags

同时,记得  s.version      = "1.0.0" 这里的两个版本要一致

3、pod lib lint 验证的时候有警告 --allow-warnings 了以后 , push的时候也要 在结尾加上, 不然还是通过不了

4、上传成功后,搜索不到, 记得 pod setup , 如果依然搜索不到,

终端输入rm ~/Library/Caches/CocoaPods/search_index.json

输出:Creating search index for spec repo 'master'.. Done!,稍等片刻就会出现

CocoaPods安装使用及上传的更多相关文章

  1. 安装配置BITS上传服务

    IIS 6.0和IIS 7.0 支持安装BITS上传组件. 下面以IIS7.0为例安装配置bits上传服务. 1.安装 首先确定服务器已经按装IIS服务.依次打开服务管理器->功能->添加 ...

  2. Windows 和 Mac 系统下安装git 并上传,修改项目

    首先在MAC上怎么操作. 在gitHub创立一个账户,在创立一个项目,这就不用我说了对吧. 创建完之后是这样的: 接下来,我们打开https://brew.sh 这是下载homebrew的网站,hom ...

  3. linux(centos)下安装git并上传代码

    cat /etc/redhat-release   查看系统版本信息 >>CentOS Linux release 7.4.1708 (Core) 背景:我已经注册了github账号,之前 ...

  4. CentOS安装GIt、上传项目到git仓库

    上传项目 登录服务器后安装git yum install git 新建文件夹(仓库) mkdir *.git 初始化仓库 git init --bare *.git 在本地初始化仓库 git init ...

  5. Linux下vsftpd的安装,Java上传文件实现。

    首先我们需要查看是否已经安装vsftpd,输入命令 :vsftpd  -v.如果出现以下信息,那么就说明已经安装vsftpd 如果没有安装,那么输入命令   : yum  install vsftpd ...

  6. CentOS安装Git,并上传、下载

    转自:https://blog.csdn.net/u014066037/article/details/70224780 Git 一.安装Git $ yum install git 二. 生成SSH密 ...

  7. linux(centos)下安装git并上传代码些许步骤(亲自验证过的步骤)

     曾经听说了好多次github,但直到近期才第一次学习使用github来托管自己在linux下的代码! 说实话.我自己在使用的时候从网上查了好多教程.但总认为难以掌握(步骤过于繁琐),自己操作的时候还 ...

  8. win10下git与gitlab安装与文件上传

    目前了解到的版本管理工具有三种:gitlab  GitHub 和 码云 个人感觉 gitlab 在公司用的较多 便于协同办公   GitHub各种资源有很多,适合个人使用   码云是中文版 便于入门 ...

  9. git安装和项目上传到GitHub

    重装系统后,Git安装也要来重来 下载 国内下载地址:https://npm.taobao.org/mirrors/git-for-windows 安装忽略 生成密钥 输入然后都是下一步,生成密钥,生 ...

随机推荐

  1. java 27 - 3 反射之 通过反射获取构造方法并使用

    类 Constructor<T>:提供关于类的单个构造方法的信息以及对它的访问权限. 通过反射的方法获取构造方法并使用  ps:先忽略泛型 A.1:获取构造方法的数组: public Co ...

  2. CTF中那些脑洞大开的加密(1)

    0x01 目录 各种文本加密             Shell   1 2 3 4 5 6 7 8 9 10 11 12 换位加密:     1.栅栏密码(Rail-fence Cipher)    ...

  3. IOS

    网上课程:http://www.zhijieketang.com/ edu.51cto.com 码云:http://git.oschina.net/名字 Gesture:https://www.osc ...

  4. 队列Queue

    java中,Queue是Collection接口的子接口,Queue的实现类很多,如LinkedList类. 实际使用可以用LinkedList写一个Queue类,实现入队.出队.求队长.判空.打印等 ...

  5. 画图解释 SQL join 语句

    转:http://blog.jobbole.com/40443/ 本文由 伯乐在线 - 奇风余谷 翻译.未经许可,禁止转载!英文出处:Jeff Atwood.欢迎加入翻译组. 我认为 Ligaya T ...

  6. css相关问题

    display:none和visibility:hidden的区别? 前几天遇到的这个问题,表格布局:::::display:none 隐藏对应的元素,在文档布局中不再给它分配空间,它各边的元素会合拢 ...

  7. Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录

    在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份 ...

  8. rpc使用举例

    #server.py from SimpleXMLRPCServer import SimpleXMLRPCServer def add(x,y): return x+y server=SimpleX ...

  9. java多线程系类:基础篇:06线程让步

    本系类的知识点全部来源于http://www.cnblogs.com/skywang12345/p/3479243.html,我只是复制粘贴一下,特在此说明. 概要 本章,会对Thread中的线程让步 ...

  10. mac里git项目删除.DS_Store文件

    用mac开发项目,每次提交文件时都生成修改文件的.DS_Store文件,提交时会不会觉得比较烦?别急,下面给出解决方案.我们需要用到.gitignore文件去配置Git目录中需要忽略的文件. .git ...