我的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预览都会产生相同的错误消息和相同的无用的诊断报告。
1条答案
按热度按时间ni65a41a1#
这个错误的原因是在我的项目配置的 Other Linker Flags 部分包含了链接器标志
-undefined dynamic_lookup
。我的项目使用
Bundle(path: "...").load()
在运行时加载一个框架,因此以这种方式设置链接器标志允许它在构建时不会生成 undefined symbol 错误。然而,似乎以这种方式设置也会杀死SwiftUI预览。为了解决这个问题,我简单地删除了链接器标志,并手动链接了我作为非嵌入式依赖项引用的框架。项目仍在构建,SwiftUI预览再次工作。