CocoaPods的安装和使用

前言

本篇文章讲述CocoaPods的安装和使用

安装cocoaPods

如果电脑没有安装过cocoaPods,需要先安装,使用下面的命令:

sudo gem install 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.

看着好像是ruby的版本太低,我使用brew来下载最新的ruby,也可以使用ruby的管理器,可以去网上搜索相关文章,我使用brew是因为brew可以管理很多工具库的版本,比较方便和统一。

使用brew安装新版ruby

使用下面命令:

brew install ruby

然后开始下载,一般情况下,不会有啥问题
下载完成后,使用

ruby -v

如果发现还是之前的版本,因为我们需要重新修改环境变量。
这里有介绍怎么修改环境变量
mac修改环境变量

修改环境变量版本还是没切换的问题

我们常用的环境变量配置文件有两个:

  • bash_profile:这个是针对以bash方式打开shell的情况下执行的配置文件。
  • zshrc:这个是针对默认或者以zsh方式打开shell的情况下执行的配置文件。

一般的解决办法有两个:

  1. 一个是切换shell模式,可以通过命令行

    // 这个是切换到bash模式
    chsh -s /bin/bash
    
    // 这个是切换到zsh模式
    chsh -s /bin/zsh
    

    或者通过终端–设置–通用–Shell的打开方式来修改
    1是默认方式,一般就是zsh
    2是手动输入的模式,/bin/bash是bash模式,/bin/zsh是zsh模式
    修改完成记得重启终端
    在这里插入图片描述

  2. 另一种是在当前模式的环境变量的配置文件中添加路径,比如我们现在是zsh模式,那我们应该使用

open ~/.zshrc	//使用文本编辑器
或者
vim ~/.zshrc	// 使用vim编辑器

添加环境变量,针对于brew安装的ruby一般路径就是
export PATH="/opt/homebrew/Cellar/ruby/3.3.0/bin:$PATH"

再次使用

ruby -v

这个时候版本应该就是最新的了

更新gem

执行下面的命令更新gem

sudo gem update --system

替换安装源

将官方的ruby源替换成国内源

// 删除当前源
gem sources --remove https://rubygems.org/
// 切换当前源
gem sources -a https://gems.ruby-china.com/
// 列出当前使用的源
gem sources -l

继续安装

再次执行

sudo gem install cocoapods
pod setup

这个时候应该很快就能安装完成了

完成

这个时候输入

pod --version

就能查看cocoapods的版本了。

使用cocoaPods

新建项目

新建一个xcode项目,比如我们创建一个VVV的ios APP项目

创建podfile

打开项目所在的目录,新建文件podfile文件
可以使用命令行创建文件

cd 这里写你的项目目录
vim podfile //会新建一个podfile文件
// 如果对vim编译不熟悉。可以到这里直接输入:wq回车退出
// 然后输入下面命令行使用编辑器打开文件
open podfile

在podfile中添加引用的第三方库

下面是一个添加库引用的例子

platform :ios,'10.0'

target 'VVV' do
  
#AFN
pod 'AFNetworking'

#Layout
pod 'Masonry'

end

安装第三方库

使用

pod install

安装库引用,并且自动进行配置

注意

有两点需要注意:

  • 使用CocoaPods生成的*xcworkspace文件来打开工程,而不是以前的*xcodeproj 文件
  • 每次更改了Podfile文件,都需要重新执行一次pod update命令

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

17.JVM-[一篇通]

文章目录 JVM1.JVM 简介 (一个进程有一个JVM)1.1JVM 发展史1.2 JVM 和《Java虚拟机规范》 2.JVM 运行流程2.1JVM 执行流程 3.JVM 运行时数据区3.1 堆(线程共享 一个进程只有一份堆)3.2Java虚拟机栈(线程私有 每个线程都有一份属于自己的栈&am…

rancher和k8s接口地址

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux/Windows/Mac 机器上。容器镜像正成为一个新的标准化软件交付方式。为了能够获取到 Docker 容器的运行状态,用户可以…

某瓜数据app 获取达人直播商品信息接口 Sign

文章目录 声明指定直播间获取商品信息达人主页所有的商品列表接口声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! 之前写过:某瓜数据app Sign 具体算法分析请看上一篇,这次看一下不同…

大语言模型质量评测(附带全部可运行代码)

代码仓库 大模型训练完之后,怎么知道其回答质量好不好,或者是不是可用的,这就需要我们对大模型进行评测,评测集的制定显得尤为重要。 收集相关数据,我们可以对评测集分为主观题和客观题,这些题目尽可能的包…

I2C接口简介

一、简介 11I2C(Inter-IntegratedCircuit)总线是由PHILIPS公司开发的两线式串行通信总线,使用多主从架构,用于连接微控制器及其外围低速设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形…

程序员裁员潮:技术变革下的职业危机

文章目录 每日一句正能量前言技术变革的影响裁员的影响程序员如何应对裁员潮危机后记 每日一句正能量 书读的越多而不加思考,你就会觉得你知道得很多;而当你读书而思考得越多的时候,你就会越清楚地看到,你知道得很少。 前言 在当…

蓝牙驱动程序错误的疑难问题解决办法(离谱的错误,已经解决)

我的问题介绍: 晚上还是好的,第二天电脑忽然蓝牙驱动坏了,也不知道为什么,然后就是修复 修复过程: 1:自己重新下载网卡驱动 2:自己联系官方客服,下载蓝牙驱动 3:无论…

websocket实现聊天室(vue2 + node)

通过websocket实现简单的聊天室功能 需求分析如图: 搭建的项目结构如图: 前端步骤: vue create socket_demo (创建项目)views下面建立Home , Login组件路由里面配置路径Home组件内部开启websocket连接 前端相关组件代码: Login…

【网络奇遇记】揭秘计算机网络性能指标:全面指南

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

数据结构--数组和广义表

1. 数组的定义 略 2. 数组的顺序表示 由于数组定义后,数组的维度和每维的长度就不再改变,其结构是固定的,因此一般采用顺序存储结构。 3. 特殊矩阵的压缩矩阵 4. 广义表的定义和抽象操作 广义表一些操作可以看数据结构--广义表_空广义表的…

React Router v6 改变页面Title

先说正事再闲聊 1、在路由表加个title字段 2、在index包裹路由 3、在App设置title 闲聊: 看到小黄波浪线了没 就是说默认不支持title字段了 出来的提示, 所以我本来是像下面这样搞的,就是感觉有点难维护,就还是用上面的方法了 …

jquery学习-1

jquery学习-1 1.jquery类似的框架 MooTools 对比反应时间2.Jquery Api jquery api中文文档 jquery注重的是看文档 3.Jquery下载和导入(压缩版) Jquery 下载 下载后导入项目中进行使用 <!DOCTYPE html> <html><head><meta charset"utf-8"…

移动硬盘好还是移动u盘好?区别是什么

随着科技的飞速发展&#xff0c;移动存储设备已经成为人们生活中不可或缺的一部分。其中&#xff0c;移动硬盘和移动U盘是两种常见的存储设备&#xff0c;人们在选择时可能会犯难&#xff0c;不知道选择移动硬盘好还是移动U盘好。 事实上&#xff0c;它们各有千秋。对此&#…

推荐5款提高工作效率和质量的软件

​ 工作学习中&#xff0c;我们常用各种软件&#xff0c;提高效率和质量。有些软件必不可少&#xff0c;有些软件可选择。今天&#xff0c;我给大家介绍5款实用软件。 1.开始菜单——Classic Shell ​ Classic Shell是一款可以恢复Windows系统的传统开始菜单的软件&#xff0…

基于SpringBoot的高校学科竞赛平台管理系统

基于SpringBoot的高校学科竞赛平台管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 前台界面 管理员界面 教师界面 学生界面 摘要 本文详细介绍了一款基于…

AI对联生成案例(二)

模型训练 有了处理好的数据&#xff0c;我们就可以进行训练了。你可以选择本地训练或在OpenPAI上训练。 OpenPAI上训练 OpenPAI 作为开源平台&#xff0c;提供了完整的 AI 模型训练和资源管理能力&#xff0c;能轻松扩展&#xff0c;并支持各种规模的私有部署、云和混合环境…

【蓝桥杯备赛Java组】语言基础|竞赛常用库函数|输入输出|String的使用|常见的数学方法|大小写转换

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;蓝桥杯&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 目录 一、编程基础 1.1 Java类的创建 1.2 Java方法 1.3 输入输出 1.4 String的使用 二、竞赛常用库函数 1.常见的数学方法 2.大小写转…

MES管理系统为何成为汽配企业的刚需

随着经济全球化、产品定制化及安全法规的严格化&#xff0c;汽配企业的经营环境变得越来越复杂。中国劳动力资源和原辅料成本的持续上升&#xff0c;导致行业利润率不断下滑。为了应对这些挑战&#xff0c;汽配企业需要引入一种精益制造和管理的工具&#xff0c;而MES管理系统正…

【Linux】权限 !

Linux 权限 Liunx Linux 权限1 什么是权限1.1 Linux用户1.2 切换用户 2 权限管理2.1 文件访问者的分类2.2 文件类型和访问权限2.3 文件权限的设置方法chmod 命令chown 命令chgrp 命令umask 命令file 指令 2.4 目录权限粘滞位 3 权限总结 1 什么是权限 关于Linux的权限问题&…

HarmonyOS 通过Web组件嵌套网络应用

我们今天来说说 在程序中嵌套一个网址地址 HarmonyOS中是通过一个简单的WEB组件来实现 网络应用就是相当于网址地址 通过链接将应用嵌入到手机当中 WEB组件需要两个参数 一个是 src 地址 要嵌套的网址 另一个是 控制器 我们可以先编写代码如下 import webview from "o…