Xcode构建Cordova项目发布App Store CordovaLib的Info.plist缺失报错解决
问题核心原因
这个报错是src-cordova/platforms/ios下自动生成的工程文件索引和实际磁盘文件结构不匹配导致的,你之前手动调整旧构建模式、修改架构参数的操作,完全没有解决核心的文件缺失问题,甚至会叠加配置冲突,没法靠手动改Xcode项目设置修复。
分步解决操作
- 先完全关闭打开的Xcode,避免工程文件被占用导致后续操作失效
- 回到项目根目录,移除已经损坏的iOS平台目录,执行命令:
cordova platform remove ios这一步不会删除你项目里的业务代码、自定义配置、静态资源,所有存放在根目录、config.xml里的自定义设置都不会丢失,只是清空自动生成的platforms目录下的无效内容
- 执行缓存清理命令,清除之前残留的构建缓存文件:
cordova clean ios - 重新拉取和你项目Cordova版本匹配的iOS平台,执行命令:
cordova platform add ios@与你项目Cordova CLI版本适配的iOS平台版本- 注意:不要直接拉取最新版iOS平台,否则可能出现版本不兼容、插件调用报错的问题
- 等平台初始化完成后,先不要直接进Xcode改配置,先通过命令行执行一次预构建,验证所有关联文件是否完整:
cordova build ios --release
这一步如果能顺利执行完成,说明报错提到的Cordova/Info.plist这类关联文件已经正确生成,不存在路径错位问题 - 做App Store上架的相关配置时,所有自定义项优先在根目录的
config.xml里修改,不要直接在Xcode工程文件里硬改:- 开发者签名团队、应用版本号、构建号这类上架必填信息,写在config.xml对应节点后,Cordova会自动同步到Xcode工程,避免手动修改导致的工程文件损坏
- 导出上架用的IPA包时,优先用命令行执行打包:
cordova build ios --release --device --packageType=app-store,减少手动归档、手动选配置带来的签名、路径类报错
常见避坑点
- 永远不要手动修改
src-cordova/platforms/ios目录下的任何文件,这个目录是Cordova自动生成的临时构建目录,下次重新同步平台时所有手动改动都会被覆盖,甚至直接触发本次遇到的文件索引错乱问题 - 重新生成平台后,不需要手动调整旧构建模式、架构选项:适配当前Xcode版本的Cordova iOS平台,默认就配置了满足App Store要求的arm64架构、支持Apple Silicon Mac本地构建、自动剔除了苹果已经不允许提交的无效架构,手动改配置反而会触发新的报错
- 如果重新添加平台后还是报同样的Info.plist缺失错误,先执行
cordova plugin list检查插件列表,把已经卸载但配置残留的无效插件引用清掉,再重复一次移除平台、重加平台的流程即可
内容的提问来源于stack exchange,提问作者A.Dumas
相关产品推荐
相关产品推荐

