升级MAC系统
系统设置 > 软件更新 中更新系统版本
升级
系统升级完成后,打开 App Store > 开发,更新xcode
更新Cocoapods
删除原来的pod
如果仅仅是卸载重装,可以不清理缓存,仅使用gem卸载Cocoapods及相关工具即可
使用gem卸载 Cocoapods
# CocoaPods 是通过 RubyGems 安装的,因此可以通过以下命令卸载
sudo gem uninstall cocoapods
# 如果安装了与 CocoaPods 相关的其他工具(如 cocoapods-core 或 cocoapods-deintegrate),也需要一并卸载
sudo gem uninstall cocoapods-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
清理Cocoapods缓存
# 删除主缓存目录
rm -rf ~/.cocoapods
# 删除 Podfile 中下载的依赖项(通常在项目的 Pods 文件夹中):
# 如果您有使用 CocoaPods 的项目,进入项目目录并删除 Pods 文件夹和 Podfile.lock 文件
rm -rf Pods
rm Podfile.lock
清理全局配置文件
# 删除 CocoaPods 配置文件
rm -rf ~/.cocoapods/repos
# 删除与 CocoaPods 相关的全局设置文件(如果存在)
rm -rf ~/Library/Caches/CocoaPods
检查是否还有残留文件
# 有时 CocoaPods 的相关文件可能会散落在其他位置。您可以搜索系统中是否有剩余的 CocoaPods 文件,根据搜索结果,手动删除任何残留的文件或目录
find ~ -name "*cocoapods*" -print
验证是否完全卸载
# 运行以下命令以确认 CocoaPods 是否已完全卸载
pod --version
安装新版本的ruby
安装rbenv
brew install rbenv
初始化 rbenv
rbenv init
# writing ~/.zprofile: now configured for rbenv.
配置环境变量
# 在.zprofile中添加如下配置
OPENSSL_PATH=/usr/local/opt/openssl@3
export LDFLAGS="-L${OPENSSL_PATH}/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib"
export CPPFLAGS="-I${OPENSSL_PATH}/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include"
export PKG_CONFIG_PATH="${OPENSSL_PATH}/lib/pkgconfig"
安装新版本的ruby
rbenv install 3.2.2
安装CocoaPods
gem install cocoapods
检测flutter
flutter doctor -v
升级Xcode16后遇到的问题
编译报错:Assertion failed: (reconstituted == accumulator), function setFixup64, file OutputFile.cpp, line 2987
0 0x104344fc4 __assert_rtn + 160
1 0x104346f9c ld::tool::OutputFile::setFixup64(unsigned char*, unsigned long long, ld::Atom const*) (.cold.10) + 0
2 0x10425e1dc ld::tool::OutputFile::setFixup64(unsigned char*, unsigned long long, ld::Atom const*) + 688
3 0x10425a754 ld::tool::OutputFile::applyFixUps(ld::Internal&, unsigned long long, ld::Atom const*, unsigned char*) + 4524
4 0x1042604c8 ___ZN2ld4tool10OutputFile10writeAtomsERNS_8InternalEPh_block_invoke + 508
5 0x18958b874 _dispatch_client_callout2 + 16
6 0x189586610 _dispatch_apply_invoke3 + 336
7 0x18958b85c _dispatch_client_callout + 16
8 0x189574a28 _dispatch_once_callout + 32
9 0x189585750 _dispatch_apply_invoke + 252
10 0x18958b85c _dispatch_client_callout + 16
11 0x1895a843c _dispatch_channel_invoke.cold.5 + 32
12 0x189583fa4 _dispatch_root_queue_drain + 736
13 0x1895845d4 _dispatch_worker_thread2 + 156
14 0x189725e28 _pthread_wqthread + 232
A linker snapshot was created at:
/tmp/Runner.debug.dylib-2025-04-11-112723.ld-snapshot
ld: Assertion failed: (reconstituted == accumulator), function setFixup64, file OutputFile.cpp, line 2987.
clang: error: linker command failed with exit code 1 (use -v to see invocation)
在Xcode的Build Settings中搜两个配置:Enable Debug Dylib Support 和 User Script Sandboxing,将其修改成NO