如何解决并预防Xcode 12的NoBuildableEntriesError与SwiftUI预览故障
解决Xcode 12 SwiftUI预览NoBuildableEntriesError问题
我太懂这个头疼的问题了!之前在Xcode 12里折腾SwiftUI项目时也踩过这个坑,本质就是当前选中的Scheme没关联你打开的SwiftUI文件所在的Target,导致Xcode没法编译生成预览。下面分两步给你说怎么解决,以及怎么预防下次再中招:
一、快速解决当前报错
方法1:选择可构建当前文件的Scheme
这个是最直接的操作,步骤超简单:
- 点击Xcode顶部工具栏左侧的Scheme下拉菜单(就是显示当前项目名/Target名称的那个下拉框)
- 在列表里找到包含你当前SwiftUI文件的Target对应的Scheme,点击选中它。比如你的文件在
MyMainApp这个主Target里,就选MyMainApp这个Scheme - 选完后,先点击顶部菜单栏的「Product > Build」重新编译一下项目,再回到预览面板点击刷新按钮(或者直接按快捷键
Command+Option+P),预览应该就能正常显示了
方法2:将当前文件添加到当前Scheme的Target中
如果不想切换Scheme,也可以把文件加到当前Scheme对应的Target里:
- 选中出问题的SwiftUI文件,打开右侧的「File Inspector」(快捷键
Command+Option+1可以快速调出) - 往下滚动找到「Target Membership」区域,勾选当前Scheme对应的那个Target的复选框
- 同样,先重新编译项目,再刷新预览面板,就能解决报错
二、预防再次出现这个问题
为了避免下次打开项目又遇到这个麻烦,可以注意这几点:
- 切换Scheme的时候,先确认当前打开的文件属于这个Scheme对应的Target,别误切到测试Target或者依赖库的Scheme
- 新建SwiftUI文件时,在创建弹窗里一定要仔细勾选你项目的主Target,别漏选导致文件没关联到正确的Target
- 可以把常用的Scheme固定到下拉菜单里(右键Scheme列表里的常用项,选「Add to Favorites」),减少误操作的概率
内容的提问来源于stack exchange,提问作者Behrang Saeedzadeh
相关产品推荐
相关产品推荐

