Xcode 14设置WidgetPreviewContext后预览报错UnableToFindPreviewHostError求助
问题原因及解决方法
错误原因
你遇到的UnableToFindPreviewHostError,核心原因是Widget预览必须依托Widget Extension目标作为宿主环境,但当前的SubManagerWidgetView.swift文件未正确关联到Widget Extension目标,或是当前活跃的Scheme并非Widget Extension对应的Scheme。
Xcode预览系统需要明确预览代码所属的目标(App/Extension/Framework),而WidgetPreviewContext是专为Widget Extension视图设计的预览上下文,无法直接在主App目标中使用。
解决步骤
- 检查文件归属:选中
SubManagerWidgetView.swift,打开右侧File Inspector,确认在Target Membership中勾选了你的Widget Extension目标(例如SubManagerWidgetExtension),不能仅勾选主App目标。 - 切换活跃Scheme:在Xcode顶部的Scheme选择器中,切换到Widget Extension对应的Scheme,而非主App的
SubManager.app。 - 重新构建预览:执行项目构建操作后,再次尝试打开预览。
补充说明
如果还未创建Widget Extension目标,需先通过File > New > Target选择Widget Extension完成创建,将Widget相关的视图及预览代码统一放在该目标下,才能正常使用WidgetPreviewContext进行预览。
内容的提问来源于stack exchange,提问作者S.Flair
相关产品推荐
相关产品推荐

