xcode SwiftUI预览:无法在此文件中预览/无法启动

f45qwnt8  于 2023-05-30  发布在  Swift
关注(0)|答案(1)|浏览(374)

我的macOS项目将成功构建并运行,但预览无法在Xcode中加载,并显示错误消息:

*无法在该文件中预览

无法启动com.example.AppName *
诊断数据产生一般错误消息:

FailedToLaunchAppError: Failed to launch com.example.AppName

RemoteHumanReadableError
ProcessError: FBApplicationLaunchTransaction succeeded with no process for com.example.AppName:/tmp/AppName/Build/Intermediates.noindex/Previews/AppName/Products/Debug/AppName.app

在我的应用程序逻辑中,我已经包含了对ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"]的检查,以确保与预览无关的服务没有被初始化,但是每个View预览都会产生相同的错误消息和相同的无用的诊断报告。

ni65a41a

ni65a41a1#

这个错误的原因是在我的项目配置的 Other Linker Flags 部分包含了链接器标志-undefined dynamic_lookup
我的项目使用Bundle(path: "...").load()在运行时加载一个框架,因此以这种方式设置链接器标志允许它在构建时不会生成 undefined symbol 错误。然而,似乎以这种方式设置也会杀死SwiftUI预览。
为了解决这个问题,我简单地删除了链接器标志,并手动链接了我作为非嵌入式依赖项引用的框架。项目仍在构建,SwiftUI预览再次工作。

相关问题