我有一些 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
Xcode 会告诉我,Build Succeeded
但画布预览窗口继续只显示框架未找到错误。
有没有其他人经历过这个/知道潜在的修复?
终于想通了!
所以事实证明,它找不到库的原因是因为我正在使用指向我的项目目录之外某个位置的相对路径来引用它。
我的构建设置是这样Framework Search Paths
设置的:
../path/to/my/framework
当我正常构建我的项目时,它运行良好,它会找到框架。所以似乎默认情况下我的构建脚本是从我的项目目录中运行的。
当我尝试为 SwiftUI 构建时,它一定是从我的根项目目录之外进行的,因此相对框架路径不再正确,并且我得到了问题中显示的错误。
将框架搜索路径更新为(相对较少?)路径,如下所示:
$(PROJECT_DIR)/../path/to/my/framework
这样做是为了可以找到框架。现在我可以成功地构建项目,并且我的 SwiftUI 画布会更新。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句