关于 nil 的未定义方法 `map' 的错误:Flutter App / CocoaPod 的 NilClass 错误

Sam*_*hah 13 xcode ios cocoapods flutter

我的 Flutter 应用程序出现错误。当我在终端中运行“flutter run”脚本时,我从 Cocoapods 收到以下错误:“CocoaPods 的错误输出:搜索检查失败:nil:NilClass 的未定义方法‘map’”(如附件所示)图片)。在此处输入图片说明

我该如何解决这个问题?

Ali*_*i80 151

我试图在 ios 文件夹中运行 pod install 命令。@boonyongyang 解决方案是必要的,但似乎我ffi安装了 2 个,所以我还必须使用arch -x86_64命令运行它

sudo arch -x86_64 gem install ffi
# go to ios folder then run
arch -x86_64 pod install
Run Code Online (Sandbox Code Playgroud)

** 更新 **

flutter 团队推荐了一种新的方法,@Chandrashekar-Ollala 也提到过

sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
Run Code Online (Sandbox Code Playgroud)


Cha*_*ala 44

我花了好几个小时才弄清楚这个问题,Stack Overflow 上的解决方案都不起作用。最后在Flutter官方文档中找到了这个注释。

在 M1 芯片上运行的计算机上会出现此问题。只需在终端中运行以下代码片段即可,一切正常。

 sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用,顺便说一句,在此之后,我需要运行 pod 存储库更新。谢谢 (3认同)

小智 42

你用的是苹果M1吗?我也有这个问题,经过一些研究,我发现这可能与 Rosetta 有关。您可以参考在 Apple Silicon (M1) 上运行 CocoaPods

通过在终端中输入以下内容,我设法在 MacBook Air M1 上解决了这个问题:

sudo arch -x86_64 gem install ffi

从这里/sf/answers/4573427421/