Mac M1 安装CocoaPods

终端要勾选使用Rosetta打开 (应用程序-实用工具-终端-显示简介-勾选“Rosetta”)


Pasted Graphic 3.png

先安装brew 在有VPN的前提下 用官方的就可以

/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))”

查看版本

brew --version

安装rvm

curl -L get.rvm.io | bash -s stable

查看

rvm -v

安装成功显示如下

 rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation]

可以列表出所有源里的ruby版本

rvm list known
image.png

安装最新的版本

rvm install 3.0.0

检查安装的版本

rvm list
image.png

说明更新成功

一、CocoaPods的安装

CocoaPods可以方便地通过Mac自带的RubyGems安装。
打开Terminal(Mac电脑自带的终端),然后按照以下提示操作即可:

1、移除现有Ruby默认源

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

2、使用新的源

// gem sources -a https://ruby.taobao.org/   (不更新了不建议使用)
gem sources --add https://gems.ruby-china.com

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

gem sources -l

出现如下所示,就证明ruby的软件源已经设置OK了。

*** CURRENT SOURCES ***

https://gems.ruby-china.com

4、安装CocoaPods
(1)执行:

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

查看是否安装成功后

pod --version

成功能查看是否可用

pod search AFNetworking

可能会出现如下情况

[!] Unable to find a pod with name, author, summary, or description matching `afnetworking`

执行

pod repo remove master

cd ~/.cocoapods/repos
发现找不到文件夹 找不到路径

执行sudo gem install cocoapods

sudo gem install -n /usr/local/bin cocoapods
Pasted Graphic 4.png

我这里的一开始没有.cocoapads文件 master直接放到了个人目录下,生成.cocoapads文件后,把master放进去就OK了。


Pasted Graphic 1.png

如果没有master文件的要执行如下:文件比较大 下载慢,只能等了

git clone --depth 1 https://github.com/CocoaPods/Specs.git master

重新搜索第三方库,测试是否成功

pod search AFNetWorking

备注:cocoapods 是一个隐藏目录
隐藏文件所在的目录按键盘上面的shift+cmmand+. ,接着看到隐藏文件夹内凡是前面带有小点的隐藏文件,或者是显示淡蓝色的文件都是隐藏文件,再次按上面的键隐藏。



下面是曾经安装遇到的问题,留着记录,虽然在新电脑上可能不适用了

ERROR:  Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.

解决方法:
首先安装一个旧版本的“activesupport”(这是兼容与ruby 2.0和cocoapods),然后安装cocoapods。

sudo gem install activesupport -v 4.2.6

sudo gem install cocoapods

如再出现以下问题

ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fuzzy_match

解决方法:再执行以下命令

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

(2)执行:

pod setup

执行pod setup后会输出 Setting up CocoaPods master repo
之后就动的很慢了.而且出现如下所示

Paste_Image.png
解决pod setup 慢的问题

一个叫akinliu的朋友在gitcafeoschina上建立了 CocoaPods 索引库的镜像,因为 gitcafe 和 oschina 都是国内的服务器,所以在执行索引更新操作时,会快很多。如下操作可以将 CocoaPods 设置成使用 gitcafe 镜像:
先执行:

pod repo remove master
Paste_Image.png

然后执行:

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

出现了:

[!] To setup the master specs repo, please run pod setup.

再执行如下:

git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
Paste_Image.png

上面命令若输出结果类似下图,则表示执行成功了

最后执行:

pod repo update

显示如下图:说明安装成功。


Paste_Image.png

5、更新gem

sudo gem update --system

出现了:Latest version currently installed. Aborting.
说明更新成功

6、查看版本

gem --version

二、CocoaPods的使用

将自己的工程安装cocoapods

方法一:

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

  • pod search 第三方 查找第三方上的……

  • 新建文件vim “Podfile”,

    vim Podfile
    
Paste_Image.png
  • 写入以下内容并保存 小提示:(终端vim文件 按i 可编辑 ,esc 退出编辑,:wq 可保存退出)
    这里以AFNetWorking为例:
Paste_Image.png
  • 导入第三方库
    执行
    pod install --no-repo-update

如出现以下问题:

[!] The dependency `AFNetworking (~> 3.1.0)` is not used in any concrete target.
Paste_Image.png

原因:CocoaPods升级后(最新版本1.5.3),Podfile文件的内容格式要求发生了变化,必须指出指出所用第三方库的target。

解决方法:修改Podfile的内容

platform :ios,'8.0'
target 'test' do
pod 'AFNetworking', '~> 3.1.0'
end

Paste_Image.png
  • 再执行 :pod install --no-repo-update就可以了
Paste_Image.png

最后显示如下:
打开工程发现工程中已经导入了AFNetworking这个第三方开源库了。

Paste_Image.png

方法二:安装Podfile文件


Paste_Image.png
  • 经过以上三步(蓝色标记),创建默认的 Podfile(红色标记),可以看到我们的工程多出了一个Pofile文件(黄色标记)
  • 接着直接执行:pod install --no-repo-update
Paste_Image.png

上面绿色跟黄色的信息就是说我们还没有导入任何第三方。

  • 完成了以上步骤,说明我们的工程已经安装好了CocoaPods,接下来就是将我们需要的开源库导入即可,这里还是用AFNetworking来举例:

  • 打开.xcworkspace添加 platform :ios, '9.0'与pod ‘AFNetworking’, ‘~> 3.1.0’

    Paste_Image.png

  • 关闭我们的工程,在终端再次输入pod install --no-repo-update

    Paste_Image.png

发现我们的工程中已经导入了AFNetworking这个第三方开源库了

  • 更新第三方库时出现如下问题:
Paste_Image.png

解决方法:
pod install --verbose --no-repo-update 将这条命令修改如下:

pod update --verbose --no-repo-update
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容