GitHub Demo 地址

Swift项目使用CocoaPods

    • [GitHub Demo 地址](https://github.com/iotjin/JhSwiftDemo)
  • cocoapods介绍
  • cocoapods安装依赖关系
  • 一、cocoapods安装
  • 二、更新 M1 Mac安装CocoaPods
    • 2.1、SIP系统完整性保护
    • 2.2、终端通过`Rosetta`打开
    • 2.3、安装homebrew
    • 2.4、安装rvm
    • 2.5、安装ruby
    • 2.6、安装pods
    • 2.7、安装ffi
  • 三、使用CocoaPods
    • 三方库
      • 安装之前的文件结构
      • 安装成功之后的文件结构
  • 遇到问题
  • 关于 `use_frameworks!`
    • 1、用cocoapods导入OC框架到swift项目
    • 2、用cocoapods导入swift框架到swift项目
    • 3、用cocoapods导入OC框架到OC项目

cocoapods介绍

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本

cocoapods安装依赖关系

cocoapods安装需要ruby,更新ruby需要rvm,下载rvm需要gpg,下载gpg需要homebrew,所以安装顺序是homebrew->gpg->rvm->ruby-cocoapods,注意这是完整流程,如果只是更新做cocoapods更新操作即可,不需要从第一步开始。
也可以通过homebrew安装ruby,然后再安装cocoapods

一、cocoapods安装

CocoaPods的安装教程可以看:
iOS安装CocoaPods详细过程

二、更新 M1 Mac安装CocoaPods

参考:

2021最新安装CocoaPods – 快速安装Homebrew, 升级Ruby版本
While executing gem … (Gem::FilePermissionError)
在 Apple Silicon (M1) 上运行 CocoaPods
CocoaPods 最新系统安装 2021-01-28(包含M1)

最近换成m1版本的mac,重新安装pods发现上面的 iOS安装CocoaPods详细过程会执行到pods安装那里会报错。
如下:

ERROR:  While executing gem ... (Gem::FilePermissionError)You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.

我在网上搜了一下解决方案如下:

主要是安装homebrew,通过homebrew下载新的ruby,并设置ruby环境变量,然后在安装cocoaPods

下面有些步骤可能没有用到,不过在安装尝试时都装了,这里做个记录

2.1、SIP系统完整性保护

因为装了一些软件,安装CocoaPods之前我已经把Mac系统的SIP系统完整性保护关闭了
SIP相当于杀毒软件,会检查安装的软件有没有问题,防止潜在恶意软件修改 Mac 上受保护的文件和文件夹
不知道SIP不关会不会影响安装pods

Mac系统关闭SIP系统完整性保护详细操作

检查 SIP 状态

csrutil status

你会看到以下信息中的一个,指示SIP状态

未关闭 enabled:

System Integrity Protection status: enabled.

已关闭 disabled:

System Integrity Protection status: disabled

关闭SIP步骤

关机,然后重新启动你的Mac电脑,在开机时一直按住Command+R迸入Recovery模式。(如果是Apple Silicon M1芯片的电脑,只需要长按开机键就可以进入恢复模式了)
进入Recovery模式后在实用工具菜单中打开终端。
在终端上输入命令 csrutil disable然后回车。

csrutil disable

最后点击左上角苹果图标  ,再点击重新启动就可以了

2.2、终端通过Rosetta打开

1.访达-应用程序-实用工具里,右键点击终端-显示简介 (如果找不到实用工具,请以列表或分栏的方式显示项目)
2.勾选使用Rosetta打开
设置完成终端顶部显示zsh

2.3、安装homebrew

官方命令如下:

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

上面可能比较慢,还有个国内安装脚本
国内安装脚本文档

苹果电脑 常规安装脚本(推荐 完全体 几分钟安装完成):
我选择的是中科大的源

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装完成查看是否成功

brew -v

可能会有两个警告,把警告下面的两行代码复制在命令行运行一下就没有了
执行brew -v 命令看看是不是有两个提示,你的 homebrew-core和homebrew-cask目录被git认为不是一个安全的目录,需要手动添加
git config --global --add safe.directory 你的homebrew-core路径
git config --global --add safe.directory 你的homebrew-cask路径

结果:

Homebrew 3.5.7-69-gb556db7
Homebrew/homebrew-core (git revision b80ccf81ce9; last commit 2022-08-04)
Homebrew/homebrew-cask (git revision 06bbd7a853; last commit 2022-08-04)

2.4、安装rvm

rvm安装命令,哪个快用哪个

curl -L get.rvm.io | bash -s stable
curl -L https://get.rvm.io | bash -s stable
curl -sSL https://get.rvm.io | bash -s stable

查看rvm是否安装

rvm -v
Ruby enVironment Manager 1.29.12 (latest) (c) 2009-2020 Michal Papis, Piotr Kuczynski, Wayne E. Seguin

2.5、安装ruby

在之前的mac上,是通过升级系统自带的ruby(sudo gem update --system命令),然后再安装pods,这里安装一个新的ruby,然后设置环境变量

方式1:brew安装,我用的这种

brew install ruby

方式2:rvm安装

查看已知ruby版本

rvm list known

安装指定ruby版本,并设置使用指定版本

rvm install 3.0.0
rvm use 3.0.0 --default

查看ruby版本命令

ruby -v
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21]

当ruby安装完成之后,会提醒你将ruby的路径导入到环境变量中,如下提示:

==> Summary
												

Swift -《从0到1 - 4》:Swift项目使用CocoaPods(更新Mac m1安装方法)相关推荐

  1. Flutter - Mac m1和Windows10配置flutter环境 ,iOS原生项目接入flutter

    Flutter - Mac和Windows10配置flutter环境 ,iOS原生项目接入flutter 一.Mac m1配置flutter环境 1.下载flutter SDK 2.安装和配置 Flu ...

  2. Swift 3.0 on Ubuntu 15.10

    一.安装swift 3.0 1. 下载 https://swift.org/download/ 找到swift-3.0 ubuntu 15.10版本下载: https://swift.org/buil ...

  3. 苹果iOS开发系列--详解Swift 3.0语言的重大变化

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

  4. Swift 2.0初探:值得注意的新特性

    转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度的WWDC大会如期而至,在大会上A ...

  5. mysql 5.6升级8.0_Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法...

    MysqL数据库版本从5.6.28升到8.0.11过程中部署项目时遇到的问题和解决方法,具体介绍如下所示: 首先这个项目用到了hibernate4.2.0,链接MysqL5.6.28没问题,换到8.0 ...

  6. Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法

    这篇文章主要介绍了Mysql数据库从5.6.28版本升到8.0.11版本过程中遇到的问题及解决方法,解决办法有三种,每种方法给大家介绍的都很详细 mysql数据库版本从5.6.28升到8.0.11过程 ...

  7. swift 3.0 中使用 xib

    文章写于2016年9月底,Xcode 8,swift 3.0 真是蛋疼,折腾了很长时间,试了网上很多教程,结果又莫名的可以了! 1.方法和OC中一样 将一个xib文件和一个ViewController ...

  8. 苹果的Swift 2.0,Raspberry Pi Zero vs CHIP以及更多新闻

    在本周的开源新闻摘要中,我们来看看苹果公司发布了Swift 2.0开放源代码,Raspberry Pi Zero vs. CHIP等! 2015年11月29日至12月5日的开源新闻摘要 苹果发布Swi ...

  9. Swift 4.0 中对 Dictionary 的改进(转载)

    Swift 4 发布已经有一段时间了,不知道大家有没有切换到 4.0 版本. 这次 4.0 更新给我最大的感受就是没有了前几次升级的跳跃式变化. 不用为了更新语言版本,完全推翻已有的项目,这也是 Sw ...

最新文章

  1. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
  2. k8s监控之kube-state-metrics
  3. zend framework2 入门实例代码album模型
  4. 如何使用 Laravel Collections 类编写神级代码
  5. html _ 提取html片段内的纯文本
  6. The mook jong 计数DP
  7. centos7安装oracle12c 一
  8. python自动控制库_Python最为神奇的库,可控制你的鼠标键盘自动运行!
  9. 解释http和html,解释HTTP、HTML的含义
  10. zlib源码导读[转]
  11. jdk生成keystore、tomcat配置https
  12. python电脑下载了怎么用-利用Python下载:You-Get的安装及使用方法
  13. 对称密码(共享秘钥密码)
  14. 高德地图获取经纬度并逆定位获取地理位置名称(原生)
  15. 微信整人假红包图片_微信整人红包动态图如何制作 微信红包图片显示5秒后变成恶搞图或其它文字制作方法...
  16. TOGAF®10标准读书会首场活动圆满举办,精彩时刻回顾!
  17. 笔记本电脑什么牌子好 世界笔记本电脑排名
  18. linux clock_gettime函数详解
  19. lect02_codes05_概率论
  20. Java 10正式发布,带来了这些新特性

热门文章

  1. 微信小程序云开发云端跟客户端入口函数
  2. 新手做跨境电商,选对平台很重要
  3. 【英语】40句英文句子,学会了会让你的阅读事半功倍
  4. 10月24日,成为程序员的节日
  5. java 开源 portal_四种开源门户portal软件比较
  6. 神犇营-my1034-A + B = C
  7. HTML学习笔记01
  8. linux下运行c语言程序报Segmentation Fault的定位方法
  9. python沙箱逃逸总结
  10. 让KVM虚机能使用音箱与麦克风(vnc及ac97)