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

Flutter iOS构建报错:Module 'amplify_auth_cognito'未找到

iOS模拟器Flutter Flavor构建失败排查方案(amplify_auth_cognito模块找不到)

1. 核对Flutter Flavor与iOS Target的关联

  • 确认ios/Runner.xcworkspace中dev flavor对应的Target,是否正确关联Amplify相关依赖。终端执行flutter run --flavor dev时,Flutter会指定对应iOS Target,若该Target未引入amplify_auth_cognito,就会触发报错。
  • 打开Xcode,进入项目设置,查看dev Target的Build Phases -> Link Binary With Libraries,确认是否包含amplify_auth_cognito.framework,缺失则手动添加或检查Podfile配置。

2. 检查Podfile的Flavor依赖配置

  • 查看ios/Podfile,确认不同flavor的target块中是否正确引入Amplify插件,示例配置如下:
    target 'Runner' do
      use_frameworks!
      use_modular_headers!
    
      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
      pod 'amplify_auth_cognito', :path => '.symlinks/plugins/amplify_auth_cognito/ios'
    end
    
  • 若使用flavor专属Target(如RunnerDev),需确保该target块中同样引入amplify_auth_cognito依赖。

3. 彻底清理构建缓存

执行以下命令清除Flutter和iOS的旧缓存,避免依赖残留问题:

flutter clean
cd ios
rm -rf Podfile.lock Pods
rm -rf ~/Library/Caches/CocoaPods
rm -rf ~/Library/Developer/Xcode/DerivedData
pod install --repo-update
cd ..
flutter run --flavor dev

4. 验证Flavor环境变量配置

  • 确认项目根目录的.env.dev等flavor配置文件中,Amplify相关参数(如AWS_REGION、COGNITO_USER_POOL_ID)是否正确。终端运行时,环境变量未正确传递可能导致插件初始化异常,间接引发模块找不到的错误。
  • 检查pubspec.yaml中是否配置了环境加载依赖(如flutter_dotenv),并确认main.dart中已正确初始化:
    await dotenv.load(fileName: ".env.dev");
    

5. 检查Xcode Build Settings配置

打开Xcode选择dev Target,进入Build Settings:

  • 确认Framework Search Paths包含$(inherited)和$(PROJECT_DIR)/Pods/amplify_auth_cognito路径,保证Xcode能定位到框架。
  • 检查Other Linker Flags是否包含-ObjC,Amplify框架依赖该标志完成正确链接。

6. 确认Flutter通道与插件版本兼容性

  • 执行flutter channel查看当前通道,确保与amplify_auth_cognito插件版本兼容(稳定版Flutter对应稳定版插件,避免dev通道搭配旧版插件)。
  • 用flutter pub outdated检查插件兼容性更新,确保amplify_flutter与amplify_auth_cognito版本匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:33:21