向App Store添加应用时报错:Info.plist不含bundle executable如何解决
'/Payload/Runner.app/Frameworks/App.framework/flutter_assets/ios/Runner/Info.plist' does not contain a bundle executable
问题根因
该错误为Flutter iOS打包提交App Store的常见校验问题,根源是项目原生iOS目录下的Info.plist被错误打包进了App.framework的flutter_assets资源目录中,苹果校验时会将该plist识别为无效bundle,不符合可执行包的校验规则。
可行解决方案
- 方案1:修正资源打包配置(永久修复)
打开项目根目录的pubspec.yaml文件,检查flutter区块下的assets配置,确认没有误包含根目录、ios目录这类非资源文件路径,仅保留实际用到的资源目录(如assets/images/、assets/fonts/等)即可,避免将ios目录下的原生配置文件打包到资源包中。修改完成后执行flutter clean清理缓存重新打包。 - 方案2:修改异常plist配置(临时应急)
打包导出ipa后执行以下操作:- 解压ipa文件,找到路径
/Payload/Runner.app/Frameworks/App.framework/flutter_assets/ios/Runner/Info.plist - 用plist编辑器打开该文件,删除CFBundleExecutable键
- 新增CFBundlePackageType键,值设置为
BNDL - 重新压缩Payload文件夹为ipa后再提交App Store
- 解压ipa文件,找到路径
- 方案3:全量清理缓存重新构建
依次执行以下命令清理旧缓存后重新打包:flutter clean rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace cd ios && pod install
注意事项
不要修改项目原生路径ios/Runner/Info.plist里的CFBundleExecutable配置,否则会导致原生Runner项目编译失败,仅需要修改flutter_assets目录下被错误打包进去的冗余plist文件即可。
内容的提问来源于stack exchange,提问作者Jasmin Sojitra
相关产品推荐
相关产品推荐

