SwiftUI Preview 因链接器错误而失败

Posted

技术标签:

【中文标题】SwiftUI Preview 因链接器错误而失败【英文标题】:SwiftUI Preview fails with linker errors 【发布时间】:2020-06-01 21:37:37 【问题描述】:

我正在尝试将 SwiftUI 视图添加到现有的基于 UIKit + Storyboards 的 tvOS 项目中。 实际 构建工作正常,我可以在模拟器中运行并查看我的 SwiftUI 视图,但是当我恢复 SwiftUI 预览时,我得到“无法构建 MyClass.swift”,并显示以下诊断信息:

关于-bundle and -bitcode_bundle cannot be used together 错误,我看到this similar SO post,但我的配置已经是答案建议的方式(将Mach-O 类型设置为Executable 并确保未设置Bundle Loader)。

还有关于找不到/Applications/Xcode.app/Contents/SharedFrameworks-appletvsimulator 的警告。该目录当然不存在,但在我的项目中没有任何地方引用我可以找到的SharedFrameworks-appletvsimulator。另外,如果我创建一个新的 SwiftUI 项目,它也不会抱怨。

SwiftUI 代码实际上只是来自 Xcode 模板的一个新的“Hello World”SwiftUI 文件 - 我根本没有修改它。

有没有人知道这里发生了什么或如何解决它?

【问题讨论】:

【参考方案1】:

对我来说,修复是禁用代码覆盖选项:

转到您的方案菜单 -> 选择编辑方案 -> 转到左侧菜单上的“测试”部分 -> 取消选中代码覆盖标记

我使用的是 Xcode 12.5 ios 最低目标 13.4

预览失败有不同的原因,还有几篇关于它的帖子,例如: This Question

【讨论】:

以上是关于SwiftUI Preview 因链接器错误而失败的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI Preview 因 *** 崩溃

SwiftUI 因“前提条件失败:属性未能设置初始值:85”而崩溃

SwiftUI Preview Canvas 构建失败,但项目构建没有

iphone 的主宰可可因 Apple Mach-O 链接器 (id) 错误而中断

角度动画因不透明度​​设置而失败(以及更多错误)

SwiftUI Preview 未显示(无错误)