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

Flutter iOS构建出现arm64架构amplify_auth_cognito相关符号未定义报错

Flutter iOS构建Amplify报错排查方案

报错说明

该报错为Swift编译产物的OC链接符号缺失问题,因Amplify SDK的auth_cognito模块使用Swift编写,旧项目配置异常时会出现该问题,全新项目默认配置兼容所以可以正常运行,可按以下步骤依次排查:


排查步骤

1. 全量清理构建缓存

  • 在项目根目录执行命令:flutter clean
  • 手动删除ios目录下的 Pods 文件夹、Podfile.lock 文件、Runner.xcworkspace 文件
  • 重新拉取依赖:执行 flutter pub get,之后进入ios目录执行 pod install --repo-update

2. 修正Podfile基础配置

  • 确认Podfile顶部的iOS最低版本配置为 platform :ios, '13.0',且注释已删除,Amplify SDK最低要求iOS 13版本
  • 在Podfile末尾添加如下配置,统一所有Pod的编译参数:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
      config.build_settings.delete 'EXCLUDED_ARCHS'
    end
  end
end

3. 检查Xcode项目配置

  • 用Xcode打开 ios/Runner.xcworkspace,进入Runner target的「Build Settings」页
  • 搜索 Other Linker Flags,确认配置项中存在 $(inherited),否则手动添加
  • 搜索 Excluded Architectures,确认所有配置项中没有手动添加 arm64 架构排除规则
  • 搜索 Always Embed Swift Standard Libraries,确认配置为 YES

4. 校验依赖版本一致性

  • 对比可正常运行的新项目的pubspec.yaml中所有amplify相关依赖的版本号,确保当前项目的版本完全对齐,不要跨大版本混用amplify_flutter、amplify_auth_cognito等组件
  • 如果存在版本不一致,修正后重新执行 flutter pub get 和 pod install

5. 解决混编缺失问题

  • 如果你的iOS项目之前是纯OC项目,没有任何Swift代码,可在ios/Runner目录下新建一个空的Swift文件,Xcode会自动创建Swift桥接文件,重新构建即可解决Swift类的OC链接问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:24:03