【问题标题】:Build Error Previewing First SwiftUI View构建错误预览第一个 SwiftUI 视图
【发布时间】:2021-06-10 00:10:27
【问题描述】:

我第一次将 SwiftUI 整合到我的项目中!

很遗憾,我无法预览我添加到项目中的第一个 SwiftUI 文件。构建仅在预览时失败。失败就在我的测试中。

构建错误的步骤:

  1. 单击预览区域中的“恢复”按钮以获取新创建的 SwiftUI 视图。
  2. 构建失败...我单击“诊断”按钮:

诊断屏幕输出:

缺少必需的模块“JGProgressHUD”


SchemeBuildError:无法构建方案“MyApp”

缺少必需的模块“JGProgressHUD”

编译 AppTests.swift (x86_64): /Users/myname/Projects/MyApp/MyAppTests/Entities/AppTests.swift:11:8: 错误:缺少必需的模块“JGProgressHUD”导入 MyApp ^

是的,我有通过 SPM 导入的 JGProgressHUD 库。

这就是我的测试类的样子 - 它在导入“MyApp”时失败,但仅用于 SwiftUI 的预览...没有构建失败的应用程序或其他测试...

import Foundation
import XCTest
import MyApp
// import app here because of: https://stackoverflow.com/questions/27172481/swift-singleton-init-called-twice-in-xctest

class AppTests: XCTestCase {
 // .. tests are here
}

“导入 MyApp”行失败。

这是我尝试过的:

  • 在网上到处搜索
  • 搞乱构建方案
  • 使用 JGProgressHUD 和测试做了一个示例项目,预览没有问题
  • 已验证我的 swift 文件均未添加到测试目标中 - 均未添加,只有 xib 文件。
  • 在测试文件中添加了“import JGProgressHUD”,然后在 JGProgressHUD 的此导入行上预览构建失败。

我迫不及待地想使用 SwiftUI,但到目前为止,添加到一个新项目中似乎很善变,而且我不知道还能去哪里找。对于我正在尝试做的事情来说,这是一个随机的问题,我完全不知道在哪里寻找。

关于检查或寻找什么的任何想法?

感谢 XCode 贤者的任何帮助!

【问题讨论】:

  • 试试@testable import MyApp
  • 感谢您的建议,但仍然有错误--“错误:缺少必需的模块'JGProgressHUD'@testable import MyApp ^”
  • 您还需要将该模块添加到您的测试目标中
  • 它是一个 swift 包 (SPM),我假设它适用于所有目标,因为当您的测试目标将主机应用程序设置为主应用程序时,它们对于工作区来说似乎是全局的。是否可以排除/包含 swift 包这种类型的测试目标?在 MyAppTests Target -> General 下,它显示“Host Application: MyApp”并选中“Allow testing host application APIs”。测试目标的“常规”下没有其他选项。
  • 我的反馈 ID 是 FB9096575。

标签: ios xcode swiftui xcode12 swiftui-environment


【解决方案1】:

Apple 在 XCode 13 Beta 5 中修复了此问题。

如果 Apple 的修复解决了您的问题,请验证并在此处发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-20
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多