Flutter无法将资源复制到iOS 14模拟器的问题求助
解决Flutter iOS端资源不加载(红框)问题
核心问题定位
你提到iOS端显示红框、Web端正常,且找错了资源存放路径:Flutter在iOS上的资源并非存在Documents文件夹,而是在App Bundle的Frameworks/App.framework/flutter_assets目录下,先纠正这个查找路径的错误。
具体解决步骤
1. 确认pubspec.yml的缩进与配置正确性
YAML对缩进要求严格,必须用空格(不能用Tab),确保你的配置格式如下(每一项相对于assets:缩进2个空格):
assets: - assets/markers/station.png - assets/markers/other/ - assets/markers/files/
同时检查:
- 项目中确实存在
assets/markers/station.png文件 - 文件名大小写完全匹配(iOS区分大小写,Web不区分,比如
Station.png和station.png会被视为不同文件)
2. 彻底清理并重建项目
仅执行flutter clean和flutter pub get可能不够,需清理iOS端的缓存:
# 清理Flutter缓存 flutter clean # 进入iOS目录清理Pod依赖 cd ios rm -rf Pods rm Podfile.lock pod install # 返回根目录重新获取依赖 cd .. flutter pub get # 重新运行iOS项目 flutter run
3. 检查Xcode中的资源配置
打开ios/Runner.xcworkspace,按以下步骤确认:
- 选中
Runner项目,切换到Build Phases标签页 - 找到
Copy Bundle Resources列表,确认flutter_assets已在其中 - 如果没有,执行
flutter build ios重新生成资源配置,再回到Xcode检查
4. 验证Image.asset路径
确保Image.asset的路径与pubspec中配置的完全一致,你当前的写法是正确的:
Image.asset('assets/markers/station.png')
内容的提问来源于stack exchange,提问作者El Dude
相关产品推荐
相关产品推荐

