最新Cocoapods 安装及使用

摘要:
没有其他原因,因为那堵墙阻挡了cocoapods组织gitsafe和oschina都是国内服务器。您可以使用他们的CocoaPods索引库的图像:$podreporemovemaster$podropaddmasterhttps://gitcafe.com/akuandev/Specs.git如果要使用OSChina映像,可以将第二个命令更改为http://git.oschina.net/akuandev/Specs.git出现SettingupCocoaPodsmasterrepo,表示Cocoapods正在将其信息下载到~/Cocoapods;CD到目录,然后使用du-sh*命令每隔几分钟查看一次文件大小。目录的最终大小超过100 MB,这意味着导入第三方库后会报告错误:[!]CocoaPodswasnotabletoupdatethe`master` repo。如果出现意外问题并持续出现,请尝试解决:1.根据提示运行podrepupdate--verbose。2.如果原始问题仍然存在,请尝试升级gemupdatecoapods。3.如果原始问题仍然存在,请重新安装CocoaPods。

1.移除现有Ruby默认源

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

2.使用新的源

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

3.验证新源是否替换成功

gem sources -l

4.安装CocoaPods

(1) sudo gem install cocoapods

备注:苹果系统升级 OS X EL Capitan 后改为 sudo gem install -n /usr/local/bin cocoapods

(2) pod setup

5.升级gem

sudo gem update —system

6. 新建工程,并在终端用cd指令到文件夹内

pod search 第三方

7.新建文件 vim “Podfile”,

vim Podfile

写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

platform:ios, '6.0'

pod 'AFNetworking', '~> 2.3.1' <-------第三方

8.导入第三方库

podupdate

pod install 被墙了,请大家换成pod install --verbose --no-repo-update

这是更新本地的pod仓库,和git一样,本地有个pod repo,和github上的版本对应,如果你不想更新这个的话后面加上--no-repo-update就可以了,但是这样会有个问题,如果github上pods的一些插件像AF有新版本了,你本地搜索的af还是旧版本如果用的新版本号是无法装配的,所以每隔一段时间我都会执行一下pod repo update,--verbose的意思是打印详细信息

出现Setting up CocoaPods master repo,半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。。。

gitcafe和oschina都是国内的服务器,可以用它们CocoaPods索引库的镜像:

$ pod repo remove master

$ pod repo add master https://gitcafe.com/akuandev/Specs.git

$ pod repo update

如果想用oschina的镜像也可以把第二条命令 换成 http://git.oschina.net/akuandev/Specs.git 即可

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

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

导入三方库报错:

[!] CocoaPods was not able to update the `master` repo. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`

尝试解决:

尝试1、根据提示,跑一下 pod repo update --verbose

尝试2、如果还是出现原来问题,升级 gem update cocoapods(如果CocoaPods还不是最新版本)

尝试3、如果升级还是出现原来的问题,那么重装CocoaPods 。

首先查看本地装了关于cocoapods的哪些东西,在终端输入gem list --local | grep cocoapods

接着全部卸掉上面的,在终端输入gem uninstall cocoapods

再安装,在终端输入gem install cocoapods

尝试4、如果问题依旧,那么请清除缓存再pod setup

清除命令

sudo rm -fr ~/Library/Caches/CocoaPods/

sudo rm -fr ~/.cocoapods/repos/master

pod setup

如果问题解决了,那么得出的结论是简单来说就是0.32之后的CocoaPods repo目录访问现在不需要root权限了,之前版本生成的目录权限在新版本下会有权限问题,所以需要删除重新生成一次。

还不行的话就把当前 Pods 目录清空:

sudo rm -fr Pods/

// 再执行

sudo gem install -n /usr/local/bin cocoapods

pod setup 看看还有没有报错

CocoaPods的使用心得

(1)最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,命令如下: pod install --verbose --no-repo-update pod update --verbose --no-repo-update

$ pod install只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。但是 $ pod update会更新所有的类库,获取最新版本的类库。每次用$ pod update就行。

(2)安装一个xcode插件管理工具 http://alcatraz.io,在终端执行: curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh , 完了打开xcode->window->package manger 搜cocoapods安装,方便操作。

(3)工程在模拟器上编译报错,不支持i386,Cocoapods确实还不支持64位模拟器,解决办法:

http://stackoverflow.com/questions/19213782/undefined-symbols-for-architecture-arm64

其实就2条,1.build active architecture only 在debug的时候设置成YES,不要在release的时候用模拟器2.other linker flags 加一个 $(inherited)

(4)用到svn,git多人协作的话,Pods/这个文件夹不要上传,.../Pods/Pods.xcodeproj...Pods/Target Support Files/这些每次编译都会改动从而引起合并代码的时候冲突

文/大象豆豆(简书作者)
原文链接:http://www.jianshu.com/p/969dcb9907cf
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

免责声明:文章转载自《最新Cocoapods 安装及使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JavaScript ------ 获取浏览器缩放比例,若不是100% ,给出提示打印divjs方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Error Code: 1175. You are using safe update

在使用mysql执行update的时候,如果不是用主键当where语句,会报如下错误,使用主键用于where语句中正常。 异常内容: Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a K...

Oracle表中一行记录被锁(行锁,表锁,死锁)

表现形式:可以向表里面save新数据,但是无法跟新某一条数据,update的时候就一直在等待。 Oracle锁表查询和解锁方法 数据库操作语句的分类DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert、delete、updateDCL:数据库控制语言 ,关键字:grant、removeDQL:数据库查询语言,关键字:s...

读懂 Deployment YAML

既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似。 还是以 nginx-deployment 为例,配置文件如下图所示: ①apiVersion是当前配置格式的版本。②kind是要创建的资源类型,这里是Deployment。③metadata是该...

Centos7中在线/离线安装DockerCE最新版

Docker在Centos7在线/离线安装 一、在线安装 1、检查系统是否支持,因为Docker 要求 CentOS 系统的内核版本高于 3.10 uname -r 2、确保 yum 包更新到最新 yum update 3、卸载旧版本 yum remove docker docker-common docker-selinux docker-engine...

Thinkphp5 sql注入分析

Thinkphp5 sql注入 影响版本: 5.0.13<=ThinkPHP<=5.0.15 、 5.1.0<=ThinkPHP<=5.1.5 。 0x01漏洞触发点: 导致这个漏洞的函数为Builder类的parseData函数 这个函数的前半段主要作用为获取数据表的字段,然后进入一个循环,我们重点看第二个elseif处 这里...

k8s存储之emptyDir、hostPath和nfs存储卷

Volume  容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净点状态(镜像最初点状态)重新启动。其次,在pod中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes中的volume就能很好的解决了这些问题。 1.背景 Doc...