在搞毕设的交代码之际发现新自用机没装 Cocoapods,经过一些步(cai)骤(keng)总算搞定√ 随手做个记录。

时间:2019.5.22

系统:macOS Mojave 10.14.4

参考:CocoaPods安装方法-2019.01.03 - 简书 & stackoverflow 的各种问题解答

一、升级 Ruby 版本

1. 安装 rvm

curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
复制代码

2. 查看目前的 rvm 版本

rvm -v
复制代码

3. 看 rvm 里的 ruby 可安装版本

rvm list known
复制代码

提前安装 Homebrew,不然下一步安装容易报错(已踩坑)

安装 Homebrew 命令:

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
复制代码

4. 选非 preview 的 ruby 最新版本安装,并设置为默认版本

rvm install 2.6.3
rvm use 2.6.3 —default
复制代码

5. 更换 ruby 源为 China

sudo gem update —system
gem sources —remove https://rubygems.org/
gem sources —add https://gems.ruby-china.com
复制代码

gems.ruby-china.com 是目前的最新镜像源,加不加“/”会有域名相关坑(errno 54 等),保守起见建议和镜像源一致,不加“/”

验证更换是否成功:

gem sources -l
复制代码

应该输出:

** CURRENT SOURCES **
https://gems.ruby-china.com
复制代码

二、安装 CocoaPods

1. 安装

sudo gem install -n /usr/local/bin cocoapods
复制代码

没有 -n /usr/local/bin 的话会显示权限问题: You don’t have write permissions for the /usr/bin directory.

2. 本地库

pod setup
复制代码

这一步时间非常长,还容易在后期报错,可能出现的报错有:

error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
复制代码

error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
复制代码

根据各种探索,有以下解决方法,建议各位依次尝试和排查

1) 首先排查网络问题,换个网速没问题的网,再 pod setup(尝试后无效)

2)检查上面第一条第5点 Ruby 源的域名设置,是否多加了“/”,再 pod setup(可以排除errno 60 的报错,但对 errno54 无效)

3) 有威P N的话连上,再 pod setup(尝试后无效)

4) 按照CocoaPods 安装方法-2019.01.03 - 简书评论 & 官方 issue 中对 errno54 的解决,应该如下手动 clone:

git clone git://cocoapodscn.com/Specs.git ~/.cocoapods/repos/master
复制代码

这个方案的原理是手动进行的 pod setup,因此原评论中说 “clone 后 pod setup”实际是不合理的,应该是 clone 后去有 Podfile 的工程目录(还没建的话先把第三条的1和2做完)进行 pod install。 但我尝试 clone 后执行 pod setup 或者pod install的时候一直卡在

Performing a deep fetch of the `master` specs repo to improve future performance
复制代码

搜索对于卡在这里的解决方式,大多是删库重装,无奈下耐心等了一番,然后报错:

[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.
复制代码

根据:官方 issue 对 Unable 问题的解决

cd ~/.cocoapods/repos
git clone https://github.com/CocoaPods/Specs.git master
复制代码

也是一种手动 clone 的方式,我猜想因为不是手动建的 master 文件夹所以能够解决一部分问题,因此删库继续尝试,clone 后直接去工程 pod install,但仍然没有成功,猜想是网络很慢的问题。

第二天重启后,确认网络状态,用威PN再次pod install,终于成功(可能威PN并不是必要因素,只是网速+clone 成功+环境配置好后重启)

3. 检查 pod 是否可用(首次会很慢,可跳过直接去下面的 pod install)

pod search AFNetworking
复制代码

三、使用 CocoaPods

1. cd 到工程目录下,创建 Podfile 文件

pod init
复制代码

2. 打开 Podfile 文件,添加 pod 库,保存退出(引号中是工程名)

target ‘Demo’ do
pod ‘AFNetworking’
end
复制代码

3. 最后终于来到这位熟悉的朋友:pod install

pod install
复制代码

四、由 project -> workspace 的一些小问题

如果本来项目使用 project 单工程开发,后期引入 pod 库,形成 workspace,会出现一些小问题,随手记录。

1. 导入第三方库后 import 第三方库找不到文件报错

这个问题的根源在于我 pod install 后过于兴奋以至于无视掉了这个警告

[!] The `xxx(工程名)` target overrides the `FRAMEWORK_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods-xxx(工程名)/Pods-xxx(工程名).debug.xcconfig'. This can lead to problems with the CocoaPods installation- Use the `$(inherited)` flag, or- Remove the build settings from the target.
复制代码

解决方法就像这个可爱的警告所言,在该工程的 target 中: Build Setting —> Search Paths 把两个都修改为 $(inherited) 或者 清除掉原有的设置。

实际上这个设置是头文件的搜索范围,这样就很好理解了。

2. ld: framework not found Pods 报错

解决方法: 成为 workspace 后,现在有两个一级目录,你的工程名和 Pods,把工程名一级目录下的 Pods 二级目录和 Frameworks 二级目录(可能已被标红且在 Finder 找不到了)删除(不放心的话可重新 pod install )就可以啦

猜想原因: 应该是原有 project 生成的静态库在成为 workspace 后有了别的去处和生成,原有的没有及时删除会影响查找导致报错

转载于:https://juejin.im/post/5ce66d15f265da1bd260c52a

2019 Mac装Cocoapods的步(cai)骤(keng)记录相关推荐

  1. ps 2019直装版 for Mac

    photoshop cc 2019 for mac直装版是ps cc2019的最新破解版,Photoshop CC2019是Adobe 公司历史上最大规模的一次产品升级,它集成图像扫描.编辑修改.图像 ...

  2. 专业音频工具au 2019 mac 直装版——Audition CC 2019 for Mac 12.1.0.182中文特别版

    Audition CC 2019 Mac版是Mac平台上的一款用于混音.修整和精确编辑的专业音频工具.用于创建.混合.编辑和复原音频内容的多轨.波形和光谱显示功能.该软件最多混合128个声道,可编辑单 ...

  3. id cc 2019 mac —— InDesign CC 2019 for Mac 14.0.2直装激活版

    功能强大.操作简单.使用方便且专业的InDesign排版编辑软件,id cc 2019 mac为我们提供适合各种设计或编辑工作流程的可扩充解决方案,可用于制作海报.书籍.数字杂志.电子书.交互式PDF ...

  4. Au CC大师版是什么?直装Au CC 2019 Mac安装教程强烈安利!

    你还在为安装破解Adobe Au CC需要注册码.需要断网和汉化而烦恼吗?其实,Adobe Audition破解已趋于稳定和成熟,今天给您推荐Au CC 2019 Mac大师版,无需断网.无需汉化.无 ...

  5. 摄影必备图像处理软件—— lr cc 2019直装版(Lightroom Classic CC 2019 for Mac8.2.1中文激活版)

    Lightroom Classic CC 2019 for Mac(lr cc 2019直装版) 8.2.1中文激活版一款强大图像处理软件,我们简称为 lr cc 2019 Mac,lr 2019 m ...

  6. MAC 下 CocoaPods 安装与使用来管理项目第三方框架

    一.CocoaPods 安装 前言:思考如何引入一个第三方框架. 例如: 百度地图SDK.友盟.ShareSDK. 信鸽推送等.从github或某处下载第三方SDK工程中导入所需要的SDK的文件 .a ...

  7. Mac装双系统的那些优缺点详解

    许多用户在购买电脑的时候经常会选择苹果电脑.但是不少用户在使用的过程中却不习惯macOS操作系统,所以想在自己的电脑中装双系统,又不知道会不会对电造成损害,今天就来跟大家聊一聊苹果Mac装双系统对电脑 ...

  8. maya 2019 mac版

    maya 2019 mac破解版3D建模软件推荐给大家,这是世界顶级的三维动画软件,帮助用户设计专业的影视广告.角色动画,电影特技等:功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强.本站现 ...

  9. mac装windows遇到的问题总结

    遇到问题:同事需求在mac上安装windows操作系统.但是他在mac上安装完成win7之后(没有通过mac的bootcamp来安装windows,直接安装一个OS---win7),使用中发现鼠标右键 ...

最新文章

  1. ReadResolve方法与序列化
  2. Paddington2
  3. Java开发软件安装及配置
  4. python 多继承 __new___Python3中的__new__方法以及继承不可变类型类的问题
  5. python调用api接口获取数据_python批量爬取NCBI基因注释并调用谷歌API批量翻译
  6. mysql数据库事务有几种特性_面试官:你能说说事务的几个特性是啥?有哪几种隔离级别?...
  7. BootstrapTable自定义ajax方法
  8. (46)Xilinx ILA IP核配置(七)(第10天)
  9. 第十一节课 课堂总结
  10. vue打包放到Java项目里_【vue】webpack打包vue项目并且运行在Tomcat里面
  11. C++_homework_StackSort
  12. 成为一个优秀网络工程师的条件
  13. python中import random_python import random
  14. 免费mp3音乐上传外链网站大全
  15. Linux/Unix桌面趣事:让桌面下雪
  16. mysql ndbcluster 缺点_MySQL集群 -- NDB Cluster
  17. EVE-NG 上传IOL镜像
  18. Mysql 分组查询取max 那条记录其他字段
  19. 【3Dsmax】入门
  20. 资料员报考建筑八大员报考建筑资料员工程竣工资料整理的举措

热门文章

  1. 第 22 章 DDL - Data Definition Language
  2. T-SQL Enhancement in SQL Server 2005[上篇]
  3. 动效设计的物理法则:动画的一切皆在于时间点和空间幅度(转)
  4. CloudStack 制作window模板
  5. 重启服务才可连接BOOT服务器
  6. Android应用资源---布局资源类型(Layout)
  7. MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
  8. linux开发神器--Tmux
  9. oracle系列(三)oracle的配置与管理
  10. Radware:当前,CDN安全远远不足