CocoaPods 哪些事
一.CocoaPods的介绍
什么是CocoaPods
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
Cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
接下来我们将介绍CocoaPods的使用。
CocoaPods的核心组件
CocoaPods是用Ruby写的,并划分成了若干个Gem包。
CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj。
CocoaPods / CocoaPod:这是面向用户的组件,每当执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。
CocoaPods / Core:Core gem提供了与CocoaPods相关的文件(主要是podfile和podspecs)的处理。
Podfile:该文件用于配置项目所需要的第三方库,它可以被高度定制。本文中我们主要在这里做动作。
Podspec:该文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。
CocoaPods / Xcodeproj:这个包负责处理工程文件,它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用CocoaPods/Xcodeproj。
三.CocoaPods的安装
一、初次安装cocoaPods(就是说之前没有安装过,废话真多,哈哈,之前安装过的看第二大项) 1.开启 terminal (终端),/**$后面的代码复制的终端上*/ 2.移除现有 Ruby 默认源 $ gem sources --remove https://rubygems.org/
3.使用新的源
$ gem sources -a https://ruby.taobao.org/ 4.验证新源是否替换成功
$ gem sources -l 5.安装 CocoaPods $ sudo gem install cocoapods $ pod setup 备注:苹果系统升级 OS X EL Capitan 后安装改为: $ sudo gem install -n /usr/local/bin cocoapods //等待再等待,这个运行时间会比较长 $ pod setup 6.更新 gem
// $ sudo gem update --system 7.新建工程,并在终端用 cd 指令到文件夹内 $ pod search AFNetworking 8.新建 Podfile 文件 (cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径))
$ touch Podfile 9.然后使用vim编辑Podfile文件,使用命令: $ vim Podfile
然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑: $ platform:ios, ‘8.0‘ //这个是必须要添加 $ target 'CIOTimes' do # xcodeproj '项目路径(这里写项目路径).xcodeproj'
pod ....
$ end 在编辑完成后按“esc”,再按“:”,这个时候输入wq,点击回车,保存并退出。
10.导入第三方库
$ pod install
11.退出终端
12.这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。
13.如何编译包含cocoapods的项目
比如从github下载下来一个项目,运行时候依赖关系报错,这时候需要更新
$ pod update
可能由于墙的的问题,无论是执行pod install还是pod update都卡在Analyzing dependencies不动了,慢到无以复加的地步,无法忍受。
其实原因在于以上两个命令执行时会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
二、安装过的,直接cd到当前项目的父文件夹里。
1、pod init (查看你的项目同级目录下有没有Podfile,如果有说明成功了)。
2、pod search "第三方库名称" (之后把第三方库,粘贴到do 与 end 之间)。
3、Pod install (完成,就这么简单)。
三.CocoaPods的删除
如果你想要尝试在工程中安转cocoapods,那么网上的资料太多了,但是如果你想要删除掉cocoapods,那么怎么办呢,如果你不知道的话那么我告诉你吧! 1. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹 2. 删除xcworkspace文件 3. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用 4. 在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources及pods相关的事项 好了,这样你就把工程中的cocoapods删除了。
ps:如果将cocoapods集成到工程中后不小心修改或删除了其相关文件导致无法便以通过例如:不小心把Pods.xcconfig给删除了然后出现diff: /../Podfile.lock: No such file or directory,用上面的方法删除cocoapods后, 再重新$sudo pod install一下就好了。 上面的方法也适用于下载别人的代码,别人使用了cocoapods,也会经常出现上述问题,就可以用这个来解决了。 如果编译的时候出现权限问题,对工程文件夹$sudo chmod 777 path-to-project-folder/* $sudo chown 777 path-to-project-folder/* 即可。 四.cocoapods 错误原因 1.使用CocoaPods找不到头文件解决方法. (1)在TARGETS -> Build Settings -> User Header Search Paths 中 写入 ${SRCROOT} 再将后面参数改为recursive
(2) 工程中->PROJECT ->Architectures 中的Back SDK 要与pods PROJECT ->Architectures 一致.
(3)工程中->PROJECT ->Architectures Build Active Architecture Only 设置成YES,pods PROJECT ->Architectures Build Active Architecture Only 设置成NO(如果还报错设置成一致). 2.错误代码
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/update_rubygems 说明你的gem没有更新,解决办法 :更新gem sudo gem install -n /usr/local/bin cocoapods --pre 3.错误代码
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist, use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools (or see `man xcode-select`),你的电脑中有两个Xcode或是你的电脑升级到最新版需要重新设置下,解决办法如下: sudo xcode-select --switch Xcode所在路径/Contents/Developer/,如
sudo xcode-select --switch /Applications/Xcode\ 7.3.1.app/Contents/Developer/ 4 .Could not automatically select an Xcode project. Specify one in your Podfile like so: xcodeproj 'path/to/Project.xcodeproj' ,解决办法: 在你的Podfile文件中加入工程的路径,如
project '/Users/xingzai/Desktop/works/CIOTimes/iOS/xxx.xcodeproj' 5. ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why: $ gem sources --remove https://rubygems.org/
$ gem sources -a http://rubygems.org/
$ gem install cocoapods 6. cocoapods更新,(出现的错误sudo gem install cocoapods
ERROR: While executing gem ... (OpenSSL::SSL::SSLError)
hostname "upyun.gems.ruby-china.org" does not match the server certificate 提示为淘宝镜像源,升级可能会失败,貌似不能用了) 更新淘宝镜像
(1.移除淘宝镜像源
gem sources --remove https://ruby.taobao.org/
(2.添加新的镜像源
gem sources -a https://gems.ruby-china.org
(3.更新gem
sudo gem update --system
(4.更新cocoapods(sudo gem install cocoapods 或者 sudo gem install -n /usr/local/bin cocoapods --pre)
sudo gem install -n /usr/local/bin cocoapods --pre
(5.查看版本
pod --version 7.ERROR: SSL verification error at depth 1: unable to get local issuer certificate (20)
ERROR: You must add /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority to your local trusted store
ERROR: SSL verification error at depth 2: self signed certificate in certificate chain (19)
ERROR: Root certificate is not trusted (/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA) 出现这个问题的原因主要是Ruby环境需要2.2版本以上,所以要更新Ruby环境。 更新Ruby环境
0.首先要安装Homebrew终端输入这条命令即可/usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
1.安装rvm$ curl -L get.rvm.io | bash -s stable
2.装载rvm$ source ~/.rvm/scripts/rvm
3.安装2.3.0版本ruby$ rvm install 2.3.0
4.将2.3.0设为默认$ rvm use 2.3.0 --default
证书错误问题
$ cd $rvm_path/usr/ssl
$ sudo curl -O http://curl.haxx.se/ca/cacert.pem
$ sudo mv cacert.pem cert.pem
五、cocoapods一些命令
六、升级 Ruby和安装Cocoapods
$ruby -v // 查看当前版本
//安装rvm,ruby vision manager
$curl -L get.rvm.io | bash -s stable
//继续敲下面的两个命令
$source ~/.bashrc
$source ~/.bash_profile
//$rvm list known // 查看所有的ruby版本,如果有明确想升级的版本,可不查看
$rvm install 2.3.0 // 开始安装
//如果你安装过了cocoa pods ,这时进行pod命令是不成功的
$gem uninstall cocoapods
$gem install cocoapods
$pod setup
//ok
CocoaPods 哪些事的更多相关文章
- CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
Using The CocoaPods to Manage The Third Party Open-source Libaries 介绍 CocoaPods是用来管理你的Xcode项目的依赖库的.使 ...
- 【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)
Change Log: 2015.08.20 - 添加podspec文件更新方法 2015.08.19 - 首次发布 概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知 ...
- 关于 《cocoapods 的taobao的镜像停止更新问题》
cocoapods 的ruby.taobao.org 停止更新了!!!!!! 最近一直在改老项目,突然听伙伴说:cocoapods 的ruby.taobao.org 停止更新了.很是吃惊,遂即闯入:h ...
- CocoaPods使用 主要带图。转载。
原文地址 快速更新,不需要查找更新库 命令:pod update --verbose --no-repo-update 虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了 ...
- MAC使用CocoaPods
前言,還是那句話,按照濤叔下面畫黃色的步驟順序執行就好了 使用CocoaPods兩種方式:使用之前安裝的插件&命令行. 一.利用插件 1.創建項目后添加CocoaPods 2.在文本框中輸入如 ...
- CocoaPods安装使用及上传
1.升级Ruby环境 sudo gem update --system 如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境 2.安装CocoaPods时我们要访问cocoap ...
- 史上最详细的CocoaPods安装教程
虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用. 前言 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正 ...
- Cocoapods的使用教程
前言 对于iOS App的开发,几乎都采用了Cocoapods来管理第三方库,那么对于我们开发人员来说,这是必备技能,必须要掌握如何使用.这篇文章就是介绍如何安装和使用CocoaPods的. 这篇文章 ...
- CocoaPods 安装
虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用. 前言 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正 ...
随机推荐
- EXCEL快速自动填充方法集锦
EXCEL快速自动填充方法集锦 原文地址,转载请注明:http://www.cnblogs.com/croso/p/5396841.html 方法一: 名称框输入a1:a1000回车,1, ctrl+ ...
- Android UI线程和非UI线程
Android UI线程和非UI线程 UI线程及Android的单线程模型原则 当应用启动,系统会创建一个主线程(main thread). 这个主线程负责向UI组件分发事件(包括绘制事件),也是在这 ...
- 自定义控件设置属性并实时展现并预览在xib中
关键字: // @IBDesignable:实时看到xib设置后的效果 // @IBInspectable:给xib提供设置属性,可以xib中看到此属性 场景: 自定义一个UITextField,并提 ...
- C语言中qsort函数的应用
qsort函数包含在<stdlib.h>的头文件里,本文中排序都是采用的从小到大排序 一.对int类型数组排序 ]; int cmp ( const void *a , const voi ...
- 【Android】神奇的android:clipChildren属性
前言 前几天有在微博上推荐过一个博客,看他文章时发现了这个属性.有些属性不常用,但需要的时候非常有用,于是做了个例子,正好项目用到,与大家分享一下. 声明 欢迎转载,请注明出处! 博客园:http:/ ...
- iOS 9 升级过程汇中白苹果 iPhone或iPad 解决方案
最近想必有很多朋友升级了iOS 9,不过有部分朋友在升级过程中遇到了白苹果问题.也就是卡在升级过程中,不限重启.这时,你只能通过dfu进行升级了. ios9怎么进入dfu模式: 1.将你的iPhone ...
- 安全攻防之SQL注入(通过sqlmap搞定所有问题)
第一步: sqlmap基于Python,所以首先下载: http://yunpan.cn/QiCBLZtGGTa7U 访问密码 c26e 第二步: 安装Python,将sqlmap解压到Python ...
- Maven在Windows上的安装与配置
下载Maven 1.进入Maven官网下载:maven.apache.org(点击进入或复制浏览器地址栏,回车进入) 注意事项:需要大家要注意的是(截至目前2015年12月1日)最新版本的Maven3 ...
- git技巧记录--子模块删除方法
把子模块推进去了,删掉吧(将子模块删除,然后提交推送),删除子模块步骤: 1.在Platform.Web库下,右键->Git Bash,进入git命令行窗口,输入:git rm –-cached ...
- openstack-kilo--issue(十一)Failed connect to 169.254.169.254:80; No route to host
# curl http://169.254.169.254/latest/user-data curl: () Failed connect to ; No route to host 解决方案: c ...