起因
m2芯片的电脑,之前执行pod install之类的命令没任何问题。后来电脑系统升级,xcode升级为16.之后新建了一个工程,同样执行pod install的时候,提示报错。如果你也遇到同样的问题,那么请仔细查看一下,报错信息的最后是否这样提示:
Searchingforinspections failed:undefined method `map'fornil:NilClass
如果是的话,那么要按如下操作应该可以解决(方法一):(参考作者:前进中的HDG)
1:在Xcode中转换项目文件夹为组
打开你的 Xcode 项目,你会发现你的文件夹都是蓝色的。
在左侧的项目导航器中,选择项目的最上层文件夹,右键点击项目文件夹。
(注意:在Xcode16之前的工程中类似于Resources这类原本就使用Folder类型的文件夹无需选中,仍使用Folder类型即可)
选择“Convert to Group”(转换为组),你会发现文件夹变为灰色。
2:编辑 project.pbxproj
在项目导航器中,右键点击 xxxxx.xcodeproj 文件。
选择"Show in Finder"
选择“Show Package Contents”(显示包内容)。
找到并打开 project.pbxproj 文件,双击打开。
删除以下两行:
minimizedProjectReferenceProxies = 1;
preferredProjectObjectVersion = 77;
更新以下行:
objectVersion = 77;
修改为:
objectVersion = 56;
3:保存更改并重新运行 CocoaPods
保存 project.pbxproj 文件的更改。
返回终端,导航到你的项目目录。
运行以下命令:
pod init
pod install
如果到这里已经解决那恭喜你。
如果你和我一样,没有仔细看报错,自信的以为是xcode升级后导致pod版本不匹配。然后执行了pod升级命令。
gem install cocoapods --pre
并且升级成功了。那么你会发现,就算按照方法一执行了,也还是报错。那么需要按照下面方法解决:
终端执行:
sudo arch -x86_64 gem install ffi
cd 到你的文件目录下再执行:
arch -x86_64 pod install
应该就可以正常使用了。