一、CocoaPods的安装

(1)使用淘宝的Ruby镜像替换官方的ruby源,在终端输入命令

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

$ gem sources -a https://ruby.taobao.org/

$ gem sources -l

如果结果为下面的样子,说明替换成功了。

***CURRENT SOURCES ***

https://ruby.taobao.org/

(2)升级gem,在终端输入命令

$ sudo gem update --system

接着会要求输入电脑密码,输入密码后回车,就开始升级了。如果看到下面这句话,说明升级成功了。

RubyGems system software updated

(3)安装CocoaPods,在终端输入命令

$ sudo gem install cocoapods

输入密码后开始安装。

二、CocoaPods的使用

(1)查找第三方库,在终端输入命令

$ pod search AFNetworking

会显示出AFNetworking相关的库

(2)在工程中创建一个Podfile文件,在终端输入命令

$cd 工程根目录路径

$ touch Podfile

(3)使用Xcode打开Podfile,然后按如下格式编辑Podfile,保存。

platform :ios, '7.0'

pod 'AFNetworking', '~>2.0'

pod 'MJExtension'

platform :ios, '6.1'

pod 'SDWebImage', '~>3.7'

pod 'MBProgressHUD', '~>0.9.1'

pod 'Reachability', '~> 3.2'

(4)安装第三方库,在终端输入命令

$cd 工程根目录路径

$ pod install

至此,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖。

三、日常使用

(1)使用CocoaPods 生成的 .xcworkspace 文件来打开工程,而不是以前的.xcodeproj 文件。

(2)每次更改了Podfile 文件,你需要cd到工程根目录,然后重新执行一次pod update命令。

四、可能遇到的问题

(1)使用cocoapods导入第三方类库后头文件没有代码提示?

解决办法: 选择Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项,新增一个值"${SRCROOT}",并且选择\”Recursive\”

(2)出现如下警告

[!] Your Podfile has had smart quotessanitised. To avoid issues in the future, you should not use TextEdit forediting it. If you are not using TextEdit, you should turn off smart quotes inyour editor of choice.

解决办法:不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。

(3) 执行pod install 或pod update 命令后,updating local specsrepositories 卡住不动

解决办法:pod install 被墙了,换成新的命令pod install --verbose --no-repo-update

(4) 项目运行时报错:Thefile “Pods.xcconfig” couldn’t be opened because there is no such file.

解决办法:pod update就可以了。

ss

为了让CocoaPods的引入不显示警告,在Podfile最上方加上:

inhibit_all_warnings!

重新运行pod install,编译项目,此时你应该看到警告已经不显示了。

PS: 对Podfile修改安装之后编译项目,可能会出现如下警告 :

The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

此时,正确的做法是:

I. Project Cleanup

  1. In the project navigator, select your project
  2. Select your target
  3. Remove all libPods*.a in  Linked Frameworks and Libraries

II. Update CocoaPods

  1. Launch Terminal and go to your project directory.
  2. Update CocoaPods using the command  pod install

转自:http://blog.csdn.net/pass7580/article/details/49908425

cocapods 使用及问题的更多相关文章

  1. 使用cocapods报错 [!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes

    从github上下载的工程大部分都使用了cocapods,在install的时候可能会报错. 报错原因: 1.不要使用文本编辑去编辑Podfile文件,使用Xcode编辑,或者使用终端敲命令去编辑. ...

  2. 更新日志 - BugHD iOS 客户端上线

    中秋.十一长假归来,"满血复活"的我们做了 fir.im 和 BugHD 的优化更新:) BugHD 新增功能 1.iOS 客户端上线 BugHD iOS 客户端上线了,你可以随时 ...

  3. Cocoapods的安装与使用

    一.安装 1.CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境.OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令: sudo gem install cocoa ...

  4. Cocoa包管理器之CocoaPods详解

    CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具.有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是使用Swift语言开发的.Carthag ...

  5. XcodeProj,使用Ruby更改工程文件

    利用xcodeproj修改xcode工程文件 一,Ruby基础 Ruby迭代器each.map.collect.inject each——连续访问集合的所有元素collect—-从集合中获得各个元素传 ...

  6. react-native 集成react-native-image-crop-picker,使用相册相机功能

    先是安装 和链接 npm i react-native-image-crop-picker --save react-native link react-native-image-crop-picke ...

  7. 如何使用最简单的方法将一个已经存在的工程中使用 cocaPodfile

    在网上搜索的使用 cocaPods 安装一些优秀的框架,搜索的博客大多步骤都是非常的麻烦,这里的方法非常的简单,本篇仅仅作为以后备用.   第一步:首先找到我们的工程,在终端中输入 cd 拖入已经存在 ...

  8. Xcode相关

    Xcode相关的路径 Provisioning Profiles存放路径:~/Library/MobileDevice/Provisioning Profiles 所有模拟器(包括历史模拟器):~/L ...

随机推荐

  1. EBS财务模块表结构

     gl_code_combinations:科目组合 字段名 含义 备注 code_combination_id 主键,科目编码ID,自动编号 segment1 分行代码 setgment2 是受 ...

  2. FFmpeg示例程序合集-Git批量获取脚本

    此前做了一系列有关FFmpeg的示例程序,组成了<FFmpeg示例程序合集>,其中包含了如下项目:simplest ffmpeg player:                  最简单的 ...

  3. 牛腩新闻发布系统--学习Web的小技巧汇总

    2014年11月10日,是个难忘的日子,这一天,小编的BS学习开始了,BS的开头,从牛腩新闻发布系统开始,之前学习的内容都是CS方面的知识,软考过后,开始学习BS,接触BS有几天的时间了,跟着牛腩老师 ...

  4. Android项目-高考作文-AsyncTask的不足

    1, AsyncTask的不足. 从android4.0开始, 后台只允许一个AsyncTask执行, 如果当前的AsyncTask没有执行完毕, 那么当前的请求一直处于等待状态. 直到上一个执行完毕 ...

  5. 一种公认提供toString的方法_JAVA核心技术卷轴Ⅰ

    从JAVA核心技术卷轴Ⅰ:基础知识中整理得到. import java.lang.reflect.AccessibleObject; import java.lang.reflect.Array; i ...

  6. Gradle 1.12 翻译——第九章 Groovy快速入门

    由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表. 有关其他已翻译的章节请关注Github上的项目:https://githu ...

  7. 用过的一些Android设备调试特性注意点(挖坑帖)

    华为3C Activity切换动画偏快. 显示大图时不容易出现OOM(应用最大内容要比其他手机大一点),所以调试OOM问题时不要用此手机,否则难以发现问题. 小米3 不要调用系统的裁图功能.因为返回的 ...

  8. Windows7下使用mingw编译openssl

    Windows7下使用mingw编译openssl 首先参考这篇文章安装mingw/minsys: http://blog.csdn.net/ubuntu64fan/article/details/8 ...

  9. Linux IPC实践(4) --System V消息队列(1)

    消息队列概述 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法(仅局限于本机); 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值. 消息队列也有管道一样的不足:  ...

  10. spring与mybatis(oracle)整合

    今天闲着无聊把项目拆解开,抽出了spring与mybatis部分.做了个demo,希望对初学者有些帮助,另外整个demo是从项目中完整剥离下来的,里面的架构大家也可以参考一下. 先是完整的项目图 首先 ...