【问题标题】:SwiftUI Preview - Failed to Build Scheme, No such module "ProjectName"SwiftUI Preview - 无法构建方案,没有这样的模块“ProjectName”
【发布时间】:2020-06-15 00:54:27
【问题描述】:

我正在尝试为基于SwiftUI 的项目构建Preview。起初,我创建了名为“VOIP”的项目。经过一些开发和时间,我将它连接到AppStore Connect,并且项目的名称以不同的方式创建,比如说VoipApp。我可以毫无问题地将项目构建到模拟器或设备中,但是当我尝试预览SwiftUI View 时,它在项目导航器中显示No such module VOIP。但正如我所说,它只是在我尝试预览时发生。

这是诊断;

no such module \'VOIP\'

----------------------------------------

SchemeBuildError: Failed to build the scheme "VOIP"

no such module 'VOIP'

Compile /Users/myuser/Projects/VOIP/VOIPTests/VOIPTests.swift:
/Users/myuser/Projects/VOIP/VOIPTests/VOIPTests.swift:10:18: error: no such module 'VOIP'
@testable import VOIP
             ^ 

我尝试了一些来自网络的答案,但都没有奏效。

【问题讨论】:

  • 你有VOIPTests.swift吗?真的是import VOIP吗?您是否尝试删除其中一些,或两者兼而有之?预览版大量使用预先构建的缓存 - 您是否尝试强制清除所有内容,例如 DerivedData 等?
  • 当然有,而且有。我确实尝试强制清理但不是派生数据。
  • 如果有那么为什么?为什么不删除它?您更改了主应用程序模块名称,因此应该在以前使用过的所有地方重命名 - 它不会自动完成。
  • 我没有更改模块名称,我的雇主在 app store connect 上使用不同的名称创建了它,当更改团队以获取配置文件时,它会自动更改。我的意思是我的项目名称仍然相同,即VOIP,在我的本地。但是我将它安装到模拟器或设备上,就像在应用商店连接名称中出现的那样。
  • stackoverflow.com/a/26326618/1404324 这个答案解决了我的问题。我刚刚删除了该方案并使用新名称创建了一个新方案。

标签: swift xcode testing swiftui preview


【解决方案1】:

关于重新创建计划的comment 对我不起作用。但是,我发现我可以通过编辑“产品模块名称”设置将模块名称更改为 SwiftUI 期望的值:

【讨论】:

  • 这是我的解决方案。我有 3 种不同的架构和构建配置,并且 SwiftUI 预览在添加后停止工作。将“产品模块名称”设置为项目名称解决了问题
  • 这并没有解决我的问题。
  • 这对我来说非常有效!
猜你喜欢
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
相关资源
最近更新 更多