2019 Mac装Cocoapods的步(cai)骤(keng)记录

在搞毕设的交代码之际发现新自用机没装 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拼音数据(无声调):a ai an ang ao ba bai ban bang bao bei ben beng bi bian biao bie bin bing bo bu ca cai can cang cao ce cen ceng cha chai chan chang chao che chen cheng chi chong chou chu chua chuai chuan chuang chui chun chuo ci cong cou cu cuan cui cun cuo da dai dan dang dao de den dei deng di dia dian diao die ding diu dong dou du duan dui dun duo e ei en eng er fa fan fang fei fen feng fo fou fu ga gai gan gang gao ge gei gen geng gong gou gu gua guai guan guang gui gun guo ha hai han hang hao he hei hen heng hong hou hu hua huai huan huang hui hun huo ji jia jian jiang jiao jie jin jing jiong jiu ju juan jue jun ka kai kan kang kao ke ken keng kong kou ku kua kuai kuan kuang kui kun kuo la lai lan lang lao le lei leng li lia lian liang liao lie lin ling liu long lou lu lü luan lue lüe lun luo ma mai man mang mao me mei men meng mi mian miao mie min ming miu mo mou mu na nai nan nang nao ne nei nen neng ng ni nian niang niao nie nin ning niu nong nou nu nü nuan nüe nuo nun ou pa pai pan pang pao pei pen peng pi pian piao pie pin ping po pou pu qi qia qian qiang qiao qie qin qing qiong qiu qu quan que qun ran rang rao re ren reng ri rong rou ru ruan rui run ruo sa sai san sang sao se sen seng sha shai shan shang shao she shei shen sheng shi shou shu shua shuai shuan shuang shui shun shuo si song sou su suan sui sun suo ta tai tan tang tao te teng ti tian tiao tie ting tong tou tu tuan tui tun tuo 定义数据集:采用字符模型,因此一个字符为一个样本。每个样本采用one-hot编码。 样本是时间相关的,分别实现序列的随机采样和序列的顺序划分 标签Y与X同形状,但时间超前1 准备数据:一次梯度更新使用的数据形状为:(时间,Batch,类别数) 实现基本循环神经网络模型 循环单元为nn.RNN或GRU 输出层的全连接使用RNN所有时间的输出 隐状态初始值为0 测试前向传播 如果采用顺序划分,需梯度截断 训练:损失函数为平均交叉熵 预测:给定一个前缀,进行单预测和K预测
05-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值