CocoaPods安装步骤详解 - 2024

news2024/11/22 20:42:49


引言

CocoaPods的安装,如果有VPN就一直开启,会让整个流程非常顺畅。

在现代 iOS 开发中,依赖管理变得越来越重要,CocoaPods 成为开发者们首选的依赖管理工具。它不仅可以简化库的安装与更新,还能帮助开发者更高效地管理项目中的第三方依赖。在这篇博客中,我们将详细介绍如何配置 CocoaPods 环境,从安装 CocoaPods 到创建和管理 Podfile,再到安装和更新库,确保你能顺利地将 CocoaPods 集成到你的 iOS 项目中。无论你是 iOS 开发的新手还是经验丰富的开发者,了解 CocoaPods 的使用都将为你的开发流程带来便利。

一. 安装Xcode

首先需要从App Store下载Xcode开发工具,这一步非常简单,直接从苹果商店下载即可。

二. 安装Homebrew

在Mac上安装Homebrew的步骤非常简单。只需要在终端中运行以下命令即可:

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

这条命令会下载Homebrew的安装脚本并执行它。安装过程中可能会要求你输入密码,并且会将Homebrew安装到/user/local目录下。

安装完成后,我们可以通过运行以下命令来验证Homebrew是否安装成功:

brew doctor

如果Homebrew安装成功,brew doctor命令会输出一些信息,告诉你Homebrew当前的状态,并检查潜在问题。如果一切顺利,你应该会看到“Your system is ready to brew.”的消息。 

三. 安装Ruby

CocoaPods就是用Ruby编写的,因此我们需要安装Ruby,通常Mac电脑会自带Ruby我们可以使用ruby -v来查看ruby版本。

wangguosong@wangguosongdeMacBook-Pro-2 ~ % ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin24]

通常系统自带的Ruby版本会相对较低,不足以支持安装Cocoapods,如果我们之间安装可能会收到以下错误:

ERROR:  Error installing cocoapods:

The last version of drb (>= 0) to support your Ruby & RubyGems was 2.0.6. Try installing it with `gem install drb -v 2.0.6` and then running the current command again

drb requires Ruby version >= 2.7.0. The current ruby version is 2.6.10.210.

四. 安装RVM

有些教程会引导大家使用RVM来安装或者升级Ruby,需要执行下面三行命令:

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

source ~/.bashrc

source ~/.bash_profile

安装成功后我们会收到下面的提示,表示安装成功:

安装成功后执行命令查看,rvm版本:

wangguosong@wangguosongdeMacBook-Pro-2 ~ % rvm -v 
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

查看可使用的ruby版本:

wangguosong@wangguosongdeMacBook-Pro-2 ~ % rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.10]
[ruby-]2.5[.8]
[ruby-]2.6[.6]
[ruby-]2.7[.2]
[ruby-]3[.0.0]
ruby-head

五. 将Ruby更新到指定版本

执行命令安装指定版本的Ruby:

rvm install ruby-3.3.1

如果成功则直接设置ruby的默认版本:

rvm use 3.3.1 --default

六. 安装rbenv&ruby-build(代替RVM)

如果执行第五步遇到问题,反复出现@openssl@1.1的问题:

Error running 'requirements_osx_brew_libs_install autoconf automake libtool pkg-config coreutils libyaml libksba readline zlib openssl@1.1',

please read /Users/wangguosong/.rvm/log/1730338821_ruby-4.0.0/package_install_autoconf_automake_libtool_pkg-config_coreutils_libyaml_libksba_readline_zlib_openssl@1.1.log

Requirements installation failed with status: 1.

建议使用rbenv和ruby-build来代替RVM。

1. 首先安装 openssl@3:

brew install openssl@3

2. 安装rbenv和ruby-build:

brew install rbenv ruby-build

3. 设置rbenv环境并重启Shell:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc

4. 安装Ruby3.3.1并指定openssl@3:

RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/opt/openssl@3" rbenv install 3.3.1

5. 切换到新的Ruby版本:

rbenv global 3.3.1

之后我们就可以使用rbenv来管理Ruby版本。

七. 更换源

首先查看Ruby镜像的当前内容:

wangguosong@wangguosongdeMacBook-Pro-2 ~ % gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.com/

如果不是ruby-china则执行下面代码删除源镜像并添加新镜像,再次验证:


gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
wangguosong@wangguosongdeMacBook-Pro-2 ~ % gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.com/

八. 安装CocoaPods

执行命令安装CocoaPods到指定目录,过程中需要输入电脑密码:

wangguosong@wangguosongdeMacBook-Pro-2 ~ % sudo gem install -n /usr/local/bin cocoapods
Password:
Fetching rexml-3.3.9.gem
Fetching nanaimo-0.4.0.gem
....

如果安装了多个Xcode需要使用下面命令选择

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

九. 安装本地库

到上一步为止,其实我们已经可以正常使用Cocoapods了,但是为了方便起见通常我们会安装一份pods仓库到本地。

原来安装本地库的方法为pod setup,但先执行该命令会直接提示“Setup completed”:

wangguosong@wangguosongdeMacBook-Pro-2 ~ % pod setup
Setup completed

新的方法直接克隆仓库到本地目录:


git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk

对于没有VPN的同学可以使用国内镜像:


git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git  ~/.cocoapods/repos/trunk

十. 使用CocoaPods

接下来我们只需要在已经创建好Profile文件的项目中执行 pod update,或者pod install:

wangguosong@wangguosongdeMacBook-Pro-2 MeMe % ls
MeMe			MeMeTests		Podfile.lock
MeMe.xcodeproj		MeMeUITests		Pods
MeMe.xcworkspace	Podfile			Profile
wangguosong@wangguosongdeMacBook-Pro-2 MeMe % pod update  
Update all pods
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing MJRefresh (3.7.9)
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.

结语

CocoaPods的安装步骤很多,如果一切顺利很快就会安装完成,但对于新手或者不熟悉的同学可能会花费一天甚至更多的时间,本篇博客总结了CocoaPods安装的详细步骤以及遇到问题的解决方案,希望能够帮助大家顺利安装CocoaPods开启iOS编程之旅。如果在使用中有任何问题,也可以通过博客联系到我嗷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2237345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二叉树-堆

树的几个重要定义 1.树根子树根亲缘关系 2.节点的度:有几个子树或根有几个孩子 3.叶子节点:没有孩子的终端节点 度为0 4.分支节点:度不为0的节点 5.树叶子分支节点 6.父亲节点/双亲节点 7.子节点 8.树的度:最大节点的度就是树的度 9.树的层:一般从第一层开始数,也有从0层开始数…

内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪

内置RTK北斗高精度定位的4G执法记录仪、国网供电服务器记录仪BD311R 发布时间: 2024-10-23 11:28:42 一、 产品图片: 二、 产品特性: 4G性能:支持2K超高清图传,数据传输不掉帧,更稳定。 独立北…

浮动路由:实现出口线路的负载均衡冗余备份。

浮动路由 Tip:浮动路由指在多条默认路由基础上加入优先级参数,实现出口线路冗余备份。 ip routing-table //查看路由表命令 路由优先级参数:越小越优 本次实验测试两条默认路由,其中一条默认路由添加优先级参数,设置…

ssm077铁岭河医院医患管理系统+vue(论文+源码)_kaic

毕业设计(论文) 题 目: 医院医患管理系统 姓 名: 学 号: 所属学院: 专业班级: 指导: 职 称: 完成日期 2021年 月 摘 要 21世纪的今天&#xf…

关于在VS中使用Qt不同版本报错的问题

最开始需要配置的地方 首先看一下我的Qt有关的环境变量: Path环境变量里: 这里就是把对应Qt编译器环境下的bin目录放进来:比如你使用的是msvc2017_64或者MinGW QMAKESPEC环境变量: 这个就选择Qt对应的编译器目录下的\mkspecs\w…

Redis 权限控制(ACL)|ACL 命令详解、ACL 持久化

官网文档地址:https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/ 使用版本:Redis7.4.1 什么是 ACL? ACL(Access Control List),权限控制列表,是 Redis 提供的一种…

任务中心全新升级,新增分享接口文档功能,MeterSphere开源持续测试工具v3.4版本发布

2024年11月5日,MeterSphere开源持续测试工具正式发布v3.4版本。 在这一版本中,系统设置方面,任务中心支持实时查看系统即时任务与系统后台任务;接口测试方面,新增接口文档分享功能、接口场景导入导出功能,…

GEE 数据集——美国gNATSGO(网格化国家土壤调查地理数据库)完整覆盖了美国所有地区和岛屿领土的最佳可用土壤信息

目录 简介 代码 引用 网址推荐 知识星球 机器学习 gNATSGO(网格化国家土壤调查地理数据库) 简介 gNATSGO(网格化国家土壤调查地理数据库)数据库是一个综合数据库,完整覆盖了美国所有地区和岛屿领土的最佳可用土…

3.PyCharm工具

第三方IDE,集成开发工具,官网下载。 社区版本,免费使用。 创建项目

Rust移动开发:Rust在iOS端集成使用介绍

iOS调用Rust 上篇介绍了 Rust移动开发:Rust在Android端集成使用介绍, 这篇主要看下iOS上如何使用Rust,Rust可以给移动端开发提供跨平台,通用组件支持。 该篇适合对iOS、Rust了解,想知道如何整合调用和编译的,如果想要…

video素材格式转换--mp4转webm(vue3+Nodejs)

总体实现使用ffmpeg 自动化demo实现 vue3Nodejsffmpeg 一、官网下载ffmpeg https://ffmpeg.org/ 1-1选择对应系统下载 1-2下载完成后配置环境变量 1-2-1将下载文件的bin目录配置到环境变量中 例如:D:\ffmpeg\bin 1-3测试ffmpeg是否安装成功 ffmpeg -version 如图 证明安装成…

YOLOPv2论文翻译

YOLOPv2: Better, Faster, Stronger for Panoptic Driving Perception 摘要 在过去的十年中,多任务学习方法在解决全景驾驶感知问题方面取得了令人鼓舞的成果,既提供了高精度又具备高效能的性能。在设计用于实时实际自动驾驶系统的网络时,这…

Golang | Leetcode Golang题解之第553题最优除法

题目: 题解: func optimalDivision(nums []int) string {n : len(nums)if n 1 {return strconv.Itoa(nums[0])}if n 2 {return fmt.Sprintf("%d/%d", nums[0], nums[1])}ans : &strings.Builder{}ans.WriteString(fmt.Sprintf("%d…

基于LORA的一主多从监测系统_实物展示

提供:成品硬件 4G模块 详细开发流程 源码 原理图 主节点和子节点A的合照来一张 主节点 子节点A

教程:FFmpeg结合GPU实现720p至4K视频转换

将一个 720p 的视频放大编码到 4K,这样的视频处理在很多业务场景中都会用到。很多视频社交、短视频、视频点播等应用,都会需要通过服务器来处理大量的视频编辑需求。 本文我们会探讨一下做这样的视频处理,最低的 GPU 指标应该是多少。利用开源…

css | padding vs margin

前置知识 height是作用域内容(content)区域的 padding和margin用百分比的时候是怎么算的?父元素的宽度。注意,不是根据父元素相应的属性,就是父亲的width 自身的height是0 以下代码,外面盒子是100x10的,里面的widt…

监控架构- Grafana-监控大屏

1. Grafana极速上手指南 1.1 环境准备 主机ip地址grafana10.0.0.66zabbix_server10.0.0.62 1.2 部署grafana 9.3.6 ##去官网找rpm包下载并上传 ## 安装 yum localinstall -y grafana-9.3.6-1.x86_64.rpm## 启动服务并设置开机自启动 systemctl enable --now grafana-server…

数据分析反馈:提升决策质量的关键指南

内容概要 在当今快节奏的商业环境中,数据分析与反馈已成为提升决策质量的重要工具。数据分析不仅能为企业提供全面的市场洞察,还能帮助管理层深入了解客户需求与行为模式。掌握数据收集的有效策略和工具,企业能够确保获得准确且相关的信息&a…

SpringBoot助力的共享汽车业务优化系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

【启程Golang之旅】从零开始构建可扩展的微服务架构

欢迎来到Golang的世界!在当今快节奏的软件开发领域,选择一种高效、简洁的编程语言至关重要。而在这方面,Golang(又称Go)无疑是一个备受瞩目的选择。在本文中,带领您探索Golang的世界,一步步地了…