Xcode Info.plist损坏/无法定位 Charts框架编译报错如何解决
多个Info.plist存在是否正常
是正常现象。Xcode项目中每个独立target都会对应一个专属的Info.plist:你的主App target有一个,Tests单元测试target、UITests UI测试target各有一个,你引入的第三方Charts框架作为独立的framework target,也会自带它自己的Info.plist,不属于重复多余文件。
强制Xcode识别Info.plist正确位置的操作步骤
先处理Charts框架编译报错,再修复主项目Info.plist识别异常问题:
第一步:清理Xcode缓存
- 完全关闭所有打开的Xcode窗口
- 打开终端执行命令删除全局编译缓存:
rm -rf ~/Library/Developer/Xcode/DerivedData - 如果你使用CocoaPods集成Charts,同步删除项目根目录下的
.xcworkspace文件、Pods文件夹、Podfile.lock文件
第二步:修复Charts框架的Info.plist路径配置
当前编译报错是Charts target的Info.plist路径配置错误导致,按以下方案处理:
- 若为CocoaPods集成:直接在项目根目录执行
pod install重新生成第三方框架配置即可,无需手动修改Charts的配置项 - 若为手动拖拽源码集成:先在Xcode中删除原有的Charts源码引用,再重新拖拽Charts源码到项目中,导入时勾选
Copy items if needed并正确关联target即可自动适配路径
第三步:修复主项目Info.plist识别异常
针对Bundle Display Name长度误判、Xcode选择路径无响应的问题:
- 选中主App target,进入
Build Settings标签,搜索Info.plist File,确认配置值和你本地Info.plist的实际路径完全一致 - 搜索
Generate Info.plist File,确认该配置为No(开启自动生成会导致手动维护的Info.plist不生效) - 右键点击本地Info.plist文件,选择
Open As -> Source Code,检查CFBundleDisplayName对应的value是否存在隐藏字符,确认无误后重写这一行配置再保存
第四步:重新编译校验
完成以上操作后按Shift+Command+K清理项目,再重新编译,即可解决上传App Store的校验报错。
内容的提问来源于stack exchange,提问作者Edward Hasted
相关产品推荐
相关产品推荐

