You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Firebase后在VS Code中运行Flutter iOS模拟器遭遇CocoaPods及ffi权限错误求助

解决你的Flutter iOS模拟器运行问题

你这遇到了两个关联的问题:CocoaPods的平台配置错误,以及Ruby gem的权限问题,我来帮你一步步搞定:

1. 先修复CocoaPods的平台指定错误

这个错误是因为你的Podfile没有明确指定iOS版本,CocoaPods自动分配了旧版本9.0,和你模拟器的iOS15.2不兼容。

  • 打开你的Flutter项目,找到ios/Podfile文件(在项目的ios子目录下)
  • 在文件开头添加或修改这一行代码:
    platform :ios, '12.0'
    
    (如果你的项目需要适配iOS15+,也可以改成'15.0',Flutter官方推荐最低iOS版本为12.0)
  • 保存Podfile后,打开终端进入项目的ios目录:
    cd ios
    
  • 执行命令重新安装CocoaPods依赖:
    pod install
    

2. 解决ffi gem的权限问题

你碰到的Gem::FilePermissionError,是因为系统自带的Ruby目录(/Library/Ruby/Gems/2.6.0)需要管理员权限才能修改。直接用sudo能临时解决,但长期来看容易引发其他问题,更推荐用Ruby版本管理器来管理自己的Ruby环境:

方法一:用rbenv管理Ruby版本(推荐)

  • 如果你还没装Homebrew,先执行安装命令:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  • 用Homebrew安装rbenv:
    brew install rbenv
    
  • 把rbenv添加到shell配置文件里(用zsh就改~/.zshrc,用bash就改~/.bash_profile):
    echo 'eval "$(rbenv init -)"' >> ~/.zshrc
    
  • 重启终端,或者让配置立即生效:
    source ~/.zshrc
    
  • 安装一个较新的Ruby版本(比如3.2.2):
    rbenv install 3.2.2
    
  • 设置全局使用这个Ruby版本:
    rbenv global 3.2.2
    
  • 现在再执行修复ffi的命令就不会有权限问题了:
    gem pristine ffi --version 1.14.2
    

方法二:临时用sudo解决(不推荐长期使用)

如果你只是想快速解决当前问题,可以直接用管理员权限执行命令:

sudo gem pristine ffi --version 1.14.2

输入你的Mac密码后回车执行即可。

完成以上两步后,回到VS Code重新执行“无调试运行”,应该就能正常在iPhone 8模拟器上启动你的Flutter项目了。

内容的提问来源于stack exchange,提问作者ismail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 09:32:28