Cocoa Pods确实是一个方便的工具,特别是在敏捷开发多个项目的时候,一个工具重复使用,大量节约时间;

可以及时更新github上面的开源库代码,只要改动Podfile文件中对应的开源库的版本号即可

在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行$pod install命令,CocoaPods就会自动将这些第三方资源库的源代码下载下来,并且为当前的工程设置好响应的系统依赖和编译参数

一、CocoaPods配置步骤

1、更新ruby,在终端中输入ruby -v(查看当前ruby版本)

ruby的软件源rubygems.org使用的亚马逊的云服务被墙了,所以需要更新一 下ruby的源,如下代码将官方的ruby源替换成国内淘宝的源

终端输入如下命令:

gem sources --remove https://rubygems.org/

gem sources -a https://gems.ruby-china.org/

gem sources -l (用来检查使用替换镜像位置成功)

2、下载安装CocoaPods

终端输入:sudo gem install cocoapods

3、已经存在的项目中,在终端上,cd到项目跟目录

cd /Users/xxxx/Desktop/OneYuan

4、终端输入 vim Podfile【建立Podfile(配置文件)】,键盘输入 i,进入编辑模式,输入(可以直接打开podfile文件复制进去)

platform :ios, ‘9.0’
target ‘OneYuan’ do
pod 'AFNetworking', '~> 3.0'
pod 'JSONKit', '~> 1.5pre'
end

然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq

回车后发现PodTest项目总目录中多一个Podfile文件

确定终端cd到项目总目录,然后输入 pod install,等待一会,大约1分钟

注意:现在打开项目不是点击 PodTest.xodeproj,而是点击 PodTest.xcworkspace

5、为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:

$ pod search AFNetworking

过几秒钟之后,你会在终端中看到关于AFNetworking类库的一些信息

二、CocoaPods遇到的部分异常问题解决办

1、出现Setting up CocoaPods master repo
说明Cocoapods在将它的信息下载到 ~/.cocoapods里,cd 到该目录里,用du -sh *命令来查看文件大小,每隔几分钟查看一次,我的这个目录最终大小是800多兆。
(测试可用的镜像:https://gems.ruby-china.org/)
2、 CocoaPods pod install/pod update更新慢的问题

在使用cocoapods 进行update 或者 install的时候,原因在于每次当执行命令时会去获取更新的pod specs,每次速度都不是很理想,参考网络上的办法,给出2个途径,可以结合使用

方法一:不检查CocoaPods specs更新

以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

方法二:使用CocoaPods specs国内镜像

使用国内对github上的specs仓库镜像, 现在每10分钟会进行一次同步 基本和主仓库保持一致

使用方法:

pod repo remove master
pod repo add master https://git.oschina.net/6david9/Specs.git
pod repo update

再在Podfile头部指定source

source 'https://git.oschina.net/6david9/Specs.git' 

第二条命令执行的时候会比较耗时 这个时候要去把整个specs仓库clone一下 大概60M左右

CocoaPods 安装 使用(遇到的错误提示参考)

http://www.jianshu.com/p/071d30a3af02

参考
https://my.oschina.net/leejan97/blog/300436
http://blog.csdn.net/showhilllee/article/details/38398119/

关于IOS的Cocoapods相关问题的更多相关文章

  1. iOS开展-CocoaPods安装和使用教程

    原文链接: iOS开展-CocoaPods安装和使用教程 修正已经增加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.co ...

  2. iOS中CocoaPods的安装及错误详解

    什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为"Pods"的依赖库(这些类库必须是Coc ...

  3. iOS 火星坐标相关整理及解决方案汇总(转)

    这几天在处理定位相关的代码,彻彻底底的被火星坐标恶心到了. 恶心列表 从 CLLocationManager 取出来的经纬度放到 mapView 上显示,是错的! 从 CLLocationManage ...

  4. 关于iOS中用AudioFile相关API解码或播放AAC_HE_V2时仅仅能识别单声首22.05k採样率的问题

    关于iOS中用AudioFile相关API解码或播放AAC_HE_V2时仅仅能识别单声首22.05k採样率的问题 在官方AQPlayer Demo 和 aqofflinerender中.都用了Audi ...

  5. IOS 使用cocoapods后无法导入头文件问题

    IOS 使用cocoapods后无法导入头文件问题 这时候如果你发现import的时候没有提示AFN e t wo r k i n g.h的文件,可以在target-Build Settings下修改 ...

  6. iOS:UITableView相关(18-10-20更)

    UITableView用得较多,遇到的情况也较多,单独记录一篇. 一.零散的技巧 二.取cell 三.cell高度 四.导航栏.TableView常见问题相关 五.自定义左滑删除按钮图片 六.仅做了解 ...

  7. iOS安装CocoaPods详细过程

    iOS安装CocoaPods详细过程 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的 ...

  8. iOS开发 - CocoaPods的常见使用方式

    1 CocoaPods 的安装 1.1 作用: 帮助管理和维护第三方框架,快速的搜索到第三方框架, 然后自动集成到工程里面来, 并编译成一个libPod.a的静态库给我们项目用 1.2 理解:  1. ...

  9. iOS 开发,相关网址

    iOS 开发,相关网址 说明 网址 注册开发者 https://developer.apple.com/cn/programs/enroll/ 未付费688个人开发账号真机调试测试教程 http:// ...

随机推荐

  1. hdu1043

    #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#inclu ...

  2. 自定义连接池java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to java.sql.Connection

    原因:Connection.getInterfaces() 与数据库驱动有关,数据库驱动不同 Connection.getInterfaces() 的结果也就不同,Connection.getInte ...

  3. JavaEE XML XSL转换(XSLT)

    XSL转换(XSLT) @author ixenos 定义: XSL转换机制可以指定将XML文档转换为其他格式的规则,例如,txt纯文本.XHTML或其他任何XML格式. 用途: XSLT通常用来将某 ...

  4. [其他]Android SDK离线文件路径以及安装更新方法

    一.离线安装Android SDK文件路径 转载自:http://www.oschina.net/code/snippet_1539302_45940 Google TV Addon, Android ...

  5. android log4j日志管理的使用

    以下为log4j1的日志管理,在android 6.0 一下能正常使用,时候更加高级的胃log4j2,持续跟新 android中的log4j日志文件使用需要两个包,我们不需要进行配置文件的配置,一切都 ...

  6. Java io流的概述

    Java语言定义了许多专门负责各种方式的输入/输出,这些类都被放在java.io包中.其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类:而所有输 ...

  7. Unity2D开发小细节

    当某个触碰物体挂在父组件时,如果当前子组件不加rigidbody,会默认使用父组件的rigidbody

  8. 手动添加PopMenu出现的问题

    最近在github上找了个比较酷的弹出菜单PopMenu用来做分享页面,demo下载运行OK,于是拖进项目中,一编译就呵呵了.... 一看demo目录,原来这还还引用了其他库,于是把pod下面的pop ...

  9. iOS Plugins

    iOS Plugins This section provides details for how to implement native plugin code on the iOS platfor ...

  10. 利用GCD实现单利模式的宏代码

    以下是.h文件,使用时,直接在需要实现单例模式的类中导入头文件即可. // .h文件 #define DenglSingletonH(name) + (instancetype)shared##nam ...