Xcode 15中SwiftUI预览报错‘需使用新构建系统’的解决求助
环境:Xcode 15.0、Swift 5、最低部署版本iOS 13,UIKit架构项目。使用SwiftUI文件预览时报错New build system required(需要新构建系统),但找不到切换到新构建系统的设置位置。
完整预览诊断信息(中文翻译)
== 日期:
2024年10月25日 星期五 中国标准时间17:14:41
2024-10-25T09:14:41Z
== 暂停原因:
初始状态
== 待更新原因:
数据源已更改
数据源已更改
数据源已更改
打开的文件已编辑
预览设置已更改
当前方案已更改
当前方案已更改
预览设置已更改
打开的文件已编辑
工作区构建设置已更改
工作区构建设置已更改
预览设置已更改
== 预览更新错误:
NeedXCBuildError: 需要新构建系统
使用Xcode预览需要新构建系统
== 版本信息:
工具版本: 15C500b
操作系统: 22H123
进程ID: 7674
设备型号: Mac mini
架构: arm64e
== 环境信息:
打开的文件 = [
/Users/kim/Desktop/TradeBook_App/TradeBook/NewWidget/EmptyDataView.swift
]
需使用新构建系统: 否
新构建系统可用: 是
当前激活方案: TradeBook
当前运行目标: Any iOS Device 变体 iphoneos undefined_arch
工作区沙箱: [x]
构建沙箱: [x]
可构建条目 = [
NewWidgetExtension.appex
]
运行模式: 动态替换
== 选中的运行目标:
名称 = Any iOS Device
符合条件: 否
SDK = 可选(<DVTSDK:0x142722fe0:'iphoneos17.2':iOS 17.2:DVTFilePath:0x6000023f3020:'/Users/kim/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.2.sdk'>)
变体 = 可选("iphoneos")
设备 = 可选(<DVTiPhonePlaceholder: 0x14272f140 (Any iOS Device | undefined_arch)>)
== 电源状态日志:
2024/10/25, 17:09 收到电源状态: 外接电源供电
2024/10/25, 17:09 无设备电源状态用户覆盖默认值。当前电源状态: 满功率
解决步骤
1. 切换到新构建系统
- 打开项目后,点击顶部菜单栏的 File → Project Settings(如果是工作区则选择Workspace Settings)
- 在弹出的设置窗口中,找到Build System选项,选择New Build System (Default)
- 关闭并重新打开Xcode,尝试重新加载SwiftUI预览
2. 更换有效运行目标
从诊断信息可见,当前选中的Any iOS Device标记为不符合条件,这会影响预览功能:
- 在Xcode顶部的方案选择栏中,切换到一个可用的iOS模拟器(如iPhone 15)
- 确保模拟器的iOS版本不低于项目的最低部署版本(iOS 13)
3. 清理缓存并重新构建
- 按下快捷键
Cmd + Shift + K清理构建缓存 - 按下
Cmd + B重新构建项目 - 再次尝试SwiftUI预览
内容的提问来源于stack exchange,提问作者Aaron.xiao

