Cocoapods 最新 集成总结

2021-6-9更新:
Mac M1处理器在安装cocoapods时,会发生以下错误
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle - /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
错误提示
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle - /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
解决办法:
在应用程序-实用工具里,打开终端 显示简介
2.勾选以Rosetta方式打开


image.png
  1. 运行 sudo gem install cocoapods (之前安装过就略过)
  2. 运行 sudo gem install ffi
  3. 最后pod install

2021-5-25 更新 :换了M1芯片电脑 重新装了下cocoapods 记录一下
1621924123476.jpg

image.png

报错 :没有权限问题 在命令行语句执行前加sudo


背景:Mac OS Catalina 10.15.1 Xcode11.2.1

Cocoapods 版本:1.8.4

暴露问题:

    1、pod install 命令出现问题  

    2、trunk 分支问题 

    3、cocoapods 源不稳定问题 

解决:问题太多 决定卸载重装 记录流程。

卸载:

1、卸载cocoapods

问题1:在cocoapod 执行卸载 语句

sudo gem uninstall cocoapods 

的时候 While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
改为:

sudo gem uninstall -n /usr/local/bin cocoapods

2、卸载本地cocoapods相关的插件
执行:

gem list --local | grep cocoapods

查询相关插件 如下图所示:


001.png

逐个删除相关插件:

sudo gem uninstall cocoapds-core
sudo gem uninstall cocoapods-deintegrate
sudo gem uninstall cocoapods-downloader
sudo gem uninstall cocoapods-plugins
sudo gem uninstall cocoapods-search
sudo gem uninstall cocoapods-stats
sudo gem uninstall cocoapods-trunk
sudo gem uninstall cocoapods-try
...

3、查看gem 更新ruby源地址

这里官方简易尽可能的使用比较新的RubyGems版本,建议2.6.x以上

//更新gem 
gem update --system # 这里请翻墙一下

//查询gem 版本 
gem -v

查看ruby源

gem sources -l

查询结果如下:

002.png

因为我电脑本身就是最新的ruby源就不重新装了 不是上图中的源 需要移除老的ruby源 更新成这个
语句如下:

//移除ruby源  XXXXXX代表你查出来的源地址
gem sources --remove XXXXXX

//添加新ruby源
gem sources --add https://gems.ruby-china.com

//查询是否更新成功 
gem sources -l

//确保只有 gems.ruby-china.com

4、安装Cocoapods

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

安装成功如下图所示:


003.png

5、执行pod setup

这步因为pod setup 克隆的镜像源 是国外的 so...换了个方式 用了国内的镜像 。(如果不换 pod setup 大概率不成功,或下一天可能,浪费时间,本人找了一天的替代源。)这里感谢下 CSDN的大佬的一篇文章,附上文章链接Pod setup 太慢终极解决办法

当我们去执行pod setup的时候,会发现那是一个相当的慢。估计一天的时间都浪费再这上面。这是因为使用的国外的镜像,只要使用国内的镜像就很好的解决了。

//查找repo 移除master文件
cd ~/.cocoapods/repos
pod repo remove master
//使用大佬给的国内镜像源
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master

你会发现,那速度,老铁 6666...

这部分执行完后 就是cocoapods的使用了 不多做赘述 都比较熟悉了 我就简单的写下流程:

//cd 到项目路径下 
cd xxxxxx
//初始化pod
pod init
//编辑podfile
open Podfile
//编辑完成 
pod install

这里有个问题:
Cocoapods升级到v1.8后pod trunk发生异常
trunk Repo update failed


004.png

我新建立了个项目,集成了一个测试的demo, pod里只加了一个三方库 集成成功了。但是在自己的项目上出现了这个问题 。原因是自己项目里集成的第三方太多
解决方案 并不是网上说的把什么trunk删除 podfile上改source 而是链接不稳定的问题 遇到这种情况

需要把Podfile上的第三方库 需要一个一个的加三方库 然后一个一个的pod install 多试几次!!! 直到 pod install成功为止!

2020-05-13 更新:

最近打算把公司项目转成纯swift的 ,新建了个swift 的项目,cocoapods又出问题了 还是 报trunk Repo update failed问题 在podfile 加了个source :

source 'https://gitee.com/mirrors/CocoaPods-Specs.git'

完美解决。

问题二:pod install出现警告。

[!] The 168LogisticsSwiftTests [Debug] target overrides the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES build setting defined in Pods/Target Support Files/Pods-168LogisticsSwift-168LogisticsSwiftTests/Pods-168LogisticsSwift-168LogisticsSwiftTests.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the$(inherited)` flag, or
- Remove the build settings from the target.

网上给出的解决方法:

image.png

实际操作一遍 还是会出现警告

所以,先从这些警告入手, 进入工程项目文件夹 ->右键点击 .xcodeproj 文件 显示包内容 -> 打开 .pbxproj 文件 -> 文本搜索提示警告的内容 ’ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES’ -> 找到这些内容删除
然后输入 pod update 进行更新

解决了。具体为什么要删除这个配置 我百度了一下 没有找到能解释的文章 暂时先照着说的改一下 留待以后追究。

安装HomeBrew

官网地址 https://brew.sh/index_zh-cn

终端输入

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

不能用切换国内地址

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

选择数据源

——查看版本:brew -v
——安装软件:brew install 软件名
——搜索软件:brew search 软件名
——卸载软件:brew uninstall 软件名
——更新所有软件:brew update
——更新具体软件:brew upgrade 软件名
——显示已安装软件:brew list
——查看哪些已安装的程序需要更新: brew outdated
——显示包依赖:brew reps
——显示帮助:brew help
===========================================================================

2022-03-01 更新 :因为更新了系统,pod init 创建 Podfile报错:

Command```/usr/local/bin/pod init```
 Report* What did you do?* What did you expect to happen?* What happened instead?  

解决方法 :更新cocoapods

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

你可能感兴趣的:(Cocoapods 最新 集成总结)