繁体   English   中英

SwiftUI Canvas 无法构建

[英]SwiftUI Canvas won't build

我有一些 SwiftUI 代码,当我构建到真正的 iOS 设备或 iOS 模拟器时,它似乎工作得很好。

但是在 SwiftUI 画布中,预览显示Failed to build MySwiftUI.swift

单击Try Again旁边的诊断按钮显示它失败并出现错误:

ld: framework not found FrameworkMyAppUses
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我为模拟器和设备构建了FrameworkMyAppUses ,它在我的框架搜索路径中。 将应用程序构建到模拟器和设备都成功并且可以毫无问题地使用我的框架,它只是无法构建的画布预览。

如果我Try again点击Try again Xcode 会告诉我Build Succeeded但画布预览窗口继续只显示框架未找到错误。

有没有其他人经历过这个/知道潜在的修复?

所以我遇到了同样的问题,只是它找不到我自己的模块......对我来说,问题是因为我有自定义构建配置并且它不喜欢自定义模块名称。 解决方案是在Build Settings > Product Module Name中将模块重命名为与 debug 和 release 相同的名称

我希望这可以帮助别人

终于想通了!

所以事实证明,它找不到库的原因是因为我正在使用指向我的项目目录之外某个位置的相对路径来引用它。

我的构建设置的Framework Search Paths设置如下:

../path/to/my/framework

当我正常构建我的项目时,它运行良好,它会找到框架。 所以似乎默认情况下我的构建脚本是从我的项目目录中运行的。

当我尝试为 SwiftUI 构建时,它一定是从我的根项目目录之外进行的,因此相对框架路径不再正确,并且我得到了问题中显示的错误。

将框架搜索路径更新为(相对较少?)路径,如下所示:

$(PROJECT_DIR)/../path/to/my/framework

这样做是为了可以找到框架。 现在我可以成功地构建项目,并且我的 SwiftUI 画布会更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM