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

IOS开发0基础入门UIkit-1cocoapod安装、更新和使用 , 安装中出现的错误及解决方案 M1或者M2安装cocoapods

 

cocoapod是ios开发时常用的包管理工具

1.M1或者是M2系统安装cocoapods先操作一下两个设置

1、打开访达->应用->实用工具->终端->右键点击终端->显示简介->勾选使用 Rosetta 打开,关闭终端,重新打开。
2、打开访达->应用->Xcode->右键点击Xcode->显示简介->勾选使用 Rosetta 打开,关闭Xcode,重新打开。

mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本

 如果ruby版本较低,可以通过rvm对Ruby进行升级

$ sudo gem update --system

2、更换Ruby镜像

首先移除现有的Ruby镜像

终端输入:$ gem sources --remove https://rubygems.org/

然后添加国内最新镜像源

终端输入:$ gem sources -a https://gems.ruby-china.com/(org 暂时不能使用官方推荐使用com)

执行完毕之后输入gem sources -l来查看当前镜像

如果结果是
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/来添加

3、CocoaPods的安装

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

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

4、CocoaPods的使用

1)CocoaPods的搜索功能

pod search AFNetworking;

执行后可能会一直停在

Setting up CocoaPods master repo然后(很久)会出现如下错误:

[!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down

解决办法是:

这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:

$ pod setup

过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。

这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,

首先更新gem到最新版本,在终端中输入:

$ sudo gem update --system

可以只接继续进行安装:sudo gem install -n /usr/local/bin cocoapods

或者是检查是否可以ping通github,在终端中输入:

$ ping github.com

然后查看pob repo list:

$ pod repo list

说明Cocoapods在将它的信息下载到~/.cocoapods里;

cd到该目录里,用du -sh *命令来查看文件大小,结果显示0 repos,说明没有安装成功;

在终端输入:

cd ~/.cocoapods

进入cocoapods文件后在终端输入:du -sh *

重新执行pod setup,过一段时间后提示setup completed,在终端中输入pod list,展示出安装列表;

这样总算安装好了。接下来再一次输入:

pod search AFNetworking

输入过后它可能会报:

[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`

解决方案是:

输入:

rm ~/Library/Caches/CocoaPods/search_index.json

后在一次输入:pod search AFNetworking

就可以咯。

2)首先定位到项目文件目录

cd 项目位置

然后添加podfile文件:vim podfile (注:在写该文件的时候要注意格式 ' ' );

进入后按i进入插入模式,进行编辑,安装官方最新的文档格式:

platform :ios, '8.0'

target '你的项目名称' do

pod 'AFNetworking', '~> 3.0'

end

编辑完成后,按ESC退出编辑模式,最后输入:wq保存并退出文件,此时可以发现在项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下,

最后:pod install进行安装即可

3)CocoaPods库的跳过更新安装

pod install --verbose --no-repo-update(跳过更新进行安装)

pod update --verbose --no-repo-update(跳过更新进行更新

如果你是M1或者M2芯片的Mac,还需要做以下操作:

1.访达-应用程序-实用工具里,右键点击终端-显示简介 (如果找不到实用工具,请以列表或分栏的方式显示项目)
2.勾选使用Rosetta打开
3.执行sudo gem install ffi

如下提示异常

xxx ~ % sudo gem install -n /usr/local/bin cocoapods
ERROR: Error installing cocoapods:
The last version of activesupport (>= 5.0, < 8) to support your Ruby & RubyGems was 6.1.7.3. Try installing it with `gem install activesupport -v 6.1.7.3` and then running the current command again

解决:sudo gem install activesupport -v 6.1.7.3

备注: sudo 使用系统权限,防止ruby permissions问题

 

相关文章:

  • javaSE-----继承和多态
  • 地平线零之曙光图文攻略,地平线零之曙光在MAC电脑能玩吗
  • vue2 element 实现表格点击详情,返回时保留查询参数
  • Windows Docker 部署 MySQL
  • 【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
  • 基于JavaWEB SpringBoot婚纱影楼摄影预约网站设计和实现
  • 【打工日常】使用docker部署IT运维管理平台CAT
  • 微信小程序开发系列(十七)·事件传参·mark-自定义数据
  • 使用插件vue-seamless-scroll 完成内容持续动态
  • leetcode热题100刷题计划
  • Dgraph 入门教程四(开发环境的搭建)
  • 力扣面试经典150 —— 6-10题
  • python异常机制
  • YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
  • 骨传导耳机怎么挑选?资深测评师一文教你搞定怎么选!
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 2017-09-12 前端日报
  • Android开源项目规范总结
  • chrome扩展demo1-小时钟
  •  D - 粉碎叛乱F - 其他起义
  • ES2017异步函数现已正式可用
  • interface和setter,getter
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Laravel5.4 Queues队列学习
  • Python_OOP
  • redis学习笔记(三):列表、集合、有序集合
  • tensorflow学习笔记3——MNIST应用篇
  • Travix是如何部署应用程序到Kubernetes上的
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 基于axios的vue插件,让http请求更简单
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊聊hikari连接池的leakDetectionThreshold
  • 批量截取pdf文件
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 微信小程序设置上一页数据
  • 在Mac OS X上安装 Ruby运行环境
  • ###C语言程序设计-----C语言学习(6)#
  • #QT(一种朴素的计算器实现方法)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (HAL库版)freeRTOS移植STMF103
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (多级缓存)缓存同步
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)大型网站的系统架构
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ***利用Ms05002溢出找“肉鸡
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net反编译工具