升级Xcode 15.0 beta 2后Objective-C项目Info.plist处理失败求助
问题重现
原项目为Objective-C开发的MobileApp,在Xcode 14.3运行正常,升级至Xcode 15 Beta后出现错误:
Info.plist Error Unable to process Info.plist at path /Users/macmini2/Library/Developer/Xcode/DerivedData/MobileApp-aqrnzgrjfzndxq/Build/Products/Debug-iphoneos/MobileApp.app/Info.plist
解决方案
清理构建缓存
直接删除报错路径对应的DerivedData文件夹,或者用Xcode快捷键Shift+Cmd+K执行Clean Build Folder,之后重新构建项目。Xcode 15 Beta对Info.plist的处理逻辑有更新,旧缓存容易引发冲突。升级CocoaPods及依赖库
- 先把CocoaPods更到最新版:
sudo gem install cocoapods - 执行
pod update更新所有第三方库,像Firebase这类库更新频繁,旧版本大概率不兼容Xcode 15的Info.plist处理规则。
- 先把CocoaPods更到最新版:
调整Podfile的post_install配置
Xcode 15对架构处理逻辑有变化,原有的配置可能干扰Info.plist生成,把post_install块改成下面这样:post_install do |installer| installer.pods_project.build_configurations.each do |config| # 仅针对Debug模拟器排除arm64架构 if config.name.include?('Debug') config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" end # 统一部署目标版本,避免依赖库版本冲突 config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' end end修改完执行
pod install重新生成Pods项目。检查主项目Info.plist格式
打开项目根目录的Info.plist,右键选择Open As > Source Code查看XML源码,确认没有语法错误(比如未闭合标签、特殊字符没转义)。Xcode 15对plist格式校验更严格,小问题都可能导致处理失败。重置Derived Data路径
打开Xcode偏好设置的Locations选项卡,点击Derived Data旁的Delete清空缓存,或者临时修改路径,重启Xcode后再重新构建。
内容的提问来源于stack exchange,提问作者Web Learner

