当前位置: 首页 > news >正文

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命令

相关文章:

CocoaPods的安装和使用

前言 本篇文章讲述CocoaPods的安装和使用 安装cocoaPods 如果电脑没有安装过cocoaPods,需要先安装,使用下面的命令: sudo gem install cocoapods输入密码后开始安装,需要等待。。。但是我这里报错了。 The last version of d…...

Linux下软件安装的命令【RPM,YUM】及常用服务安装【JDK,Tomcat,MySQL】

Linux下软件安装的命令 源码安装 以源代码安装软件,每次都需要配置操作系统、配置编译参数、实际编译,最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。 RPM软件包管理 RPM安装软件的默认路径: 注意: /etc 配置文件放置目录…...

【linux】-telnet服务安装

1. 说明 telnet 分为 :telnet 服务端 和 telnet 客户端 本文只演示安装 telnet服务端 2. 安装telnet服务端、以及守护服务xinetd 2.1 检测telnet-server的rpm包是否安装 rpm -qa telnet-server 2.2 若未安装,则安装telnet-server&#xff0…...

安卓开发——Activity及常用布局和控件的使用

Activity及常用布局和控件的使用 一、实验目的 掌握Android常用布局和控件的使用。 Activity组件使用和Intent机制,加强对Activity生命周期的理解 二、实验设备及器件 Android Studio,图标:http://10.37.59.210/download/icon/MobileShopI…...

.net访问oracle数据库性能问题

问题: 生产环境相同的inser语句在别的非.NET程序相应明显快于.NET程序,执行时间相差比较大,影响正常业务运行,测试环境反而正常。 问题详细诊断过程 问题初步判断诊断过程: 查询插入慢的sql_id 检查对应的执行计划…...

vue上传解析excel表格并修改字段名

目录 1.安装 xlsx 2.引入 3.使用 1.安装 xlsx npm install xlsx 2.引入 import * as XLSX from xlsx; 3.使用 <template><div class"UploadCptOutbox"><div class"Tooloutbox"><el-uploadclass"upload"ref"u…...

jupyter notebook删除kernel & conda 删除虚拟环境

jupyter kernelspec list #列出jupyter的所有kernel jupyter kernelspec remove kernel_name #删除特定的kerneljupyter kernelspec list 命令可以在任何激活的环境中运行&#xff0c;无论是 base 环境还是某个虚拟环境。该命令将列出所有已注册的 Jupyter 内核&#xff0c;包括…...

Redis在生产环境中可能遇到的问题与解决方案(三)

11. Redis高可用问题 问题描述 在Redis集群中&#xff0c;当主节点发生故障时&#xff0c;需要快速切换到备用主节点&#xff0c;确保系统高可用。 解决方案 Redis Sentinel&#xff1a; 使用Redis Sentinel进行主从节点的监控和自动故障转移。 备用主节点&#xff1a; 配置…...

【C++干货铺】 RAII实现智能指针

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 为什么需要智能指针&#xff1f; 内存泄漏 什么是内存泄漏&#xff0c;内存泄露的危害 内存泄漏的分类 堆内存泄漏&#xff08;Heap leak&#xff09; 系统资…...

【竞技宝jjb.lol】LOL:xiaohu岩雀天命抢龙扭转乾坤 WBG2-0轻取RA

北京时间2024年1月26日&#xff0c;英雄联盟LPL2024春季赛在昨天迎来第一周第四个比赛日&#xff0c;本日首场比赛由WBG对阵RA。本场比赛RA虽然在首局前期给了WBG很大的压力&#xff0c;但WBG还是凭借后期出色的团战配合拿下胜利&#xff0c;最终WBG2-0轻取RA。以下是本场比赛的…...

GoZero微服务个人探究之路(九)api文件编写总结

参考来源go-zero官方文档https://go-zero.dev/docs/tutorials 前言 go-zero是目前star最多的go语言微服务框架&#xff0c;api 是 go-zero特殊的语言&#xff0c;类型文件&#xff0c;go-zero自带的goctl可以通过.api文件生成http服务代码 api文件内容编写 不可使用关键字 …...

泛型..

1.泛型 所谓泛型 在类定义处是一种类型参数(我们平常所见到的参数指的就是方法中的参数 他接收有外界传递来的值 然后在方法中进行使用) 在类内部的话 则充当一种占位符 并且还提高了代码的复用率 何以见得提高了代码的复用率 其实就是通过对比使用了泛型技术和没有使用泛型技…...

Android App开发基础(1)—— App的开发特点

本文介绍基于Android系统的App开发常识&#xff0c;包括以下几个方面&#xff1a;App开发与其他软件开发有什么不一样&#xff0c;App工程是怎样的组织结构又是怎样配置的&#xff0c;App开发的前后端分离设计是如何运作实现的&#xff0c;App的活动页面是如何创建又是如何跳转…...

docker-compose初探

我一直直接使用docker命令来创建容器&#xff0c;没有怎么用过docker-compose。也不知道docker-compose和docker有什么区别&#xff0c;docker-compose有什么好处。 现在我约略认为&#xff0c;docker-compose是一个简化docker命令的工具&#xff0c;或者说&#xff0c;它是能…...

【webrtc】跟webrtc学时间戳、序号类型转换

间隔ms src\modules\congestion_controller\remb_throttler.ccnamespace {constexpr TimeDelta kRembSendInterval = TimeDelta::Millis(200); } // namespace百分比的处理 src\modules\congestion_controller\remb_throttler.ccvoid RembT...

文件操作与IO(一些小项目)

在指定目录中寻找文件 扫描指定目录,并找到名称对应的所有文件(不包含目录). import java.io.File; import java.util.Scanner;public class Project1 {public static void main(String[] args) {//1.输入必要的信息Scanner sc new Scanner(System.in);System.out.println(&…...

C语言-算法-线性dp

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中&#xff0c;从 7 → 3 → 8 →…...

Pandas应用-股票分析实战

股票时间序列 时间序列&#xff1a; 金融领域最重要的数据类型之一 股价、汇率为常见的时间序列数据 趋势分析&#xff1a; 主要分析时间序列在某一方向上持续运动 在量化交易领域&#xff0c;我们通过统计手段对投资品的收益率进行时间序列建模&#xff0c;以此来预测未来的收…...

Database history tablesupgraded

zabbix升级到6之后&#xff0c;配置安装完成会有一个红色输出&#xff0c;但是不影响zabbix使用&#xff0c;出于强迫症&#xff0c;找到了该问题的解决方法。 Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to nume…...

Dify学习笔记-应用发布(四)

1、发布为公开 Web 站点 使用 Dify 创建 AI 应用的一个好处在于&#xff0c;你可以在几分钟内就发布一个可供用户使用的 Web 应用&#xff0c;该应用将根据你的 Prompt 编排工作。 如果你使用的是自部署的开源版&#xff0c;该应用将运行在你的服务器上 如果你使用的是云服务&…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...