Swift框架不能使用除“Debug”或“Release”以外的其他构buildconfiguration:没有这样的模块

每当我尝试使用名为“Debug”或“Release”以外的构buildconfiguration时,Xcode突然找不到我的Swift框架。 configuration与其名称完全相同(实际上,新的configuration是从工作的“debugging”configuration中复制的)。

构建配置截图

Xcode报告“没有这样的模块”

Xcode错误

这似乎是一个非常奇怪的错误。 肯定有人遇到过这个? 我的Googlesearch没有结果。 有没有人有任何想法可能会导致这个问题? 我很确定我正确地添加了框架。

我创build了一个简短的截屏video,向您展示我在做什么: http : //www.screencast.com/t/zpgZ5ZYgvH

底线:

  1. 确保项目目前使用第三方Swift框架构build
  2. 在项目/文件导航器中select项目
  3. 在编辑器左侧边栏中select目标上方的项目,并确保您在“信息”选项卡上
  4. 通过单击configuration列表下方的+button,然后select“重复XXXconfiguration”,复制当前configuration(可能是“debugging”
  5. 转到产品(菜单)>scheme>编辑scheme,修改您的scheme以使用新configuration…
  6. select左侧栏中的运行
  7. 在“构buildconfiguration”下select新的configuration
  8. 试图再次build立

您也可以下载示例项目: http : //s000.tinyupload.com/?file_id=48797763216274271820

我正在运行Xcode 6.0.1(6A317)和Yosemite 10.10(14A361c)。

在您的目标的Build Settings中添加以下Framework Search Path$(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME)并使其成为non-recursive

在我的情况下,这是为Alamofire,这是作为一个git submodule被添加到我的项目。

框架正在构build正确,可以在构build日志中看到,但我假设默认的框架searchpath链接到scheme名称。 Alamofire框架&dSYM文件在Release-iphoneos / Release-iphonesimulator

我认为这将适用于任何Swift框架,只要它的scheme名称是默认的。 如果没有,请检查构build日志并相应地调整框架searchpath。

我有这个问题aswel并通过添加相同的configuration名称,以包括Alamofire项目。

我的主要项目中的构buildscheme: 主要项目配置

Alamofire项目内的构buildscheme: 在这里输入图像说明

注意:另外,请确保您的iOS部署目标在两个项目中都是相同的。

如果您正在使用cocoapods,请尝试pod install这将生成一些带有您的configuration名称的.xcconfig文件。 清理你的生成文件夹并重新构build。

确保您打开的工作空间不是针对您的xcode项目的项目。 如果打开文件xcodeproj而不是xcworkspace,则可能导致“没有这样的模块”错误。 请看capikaw的评论:

获取错误“没有这样的模块”使用Xcode,但框架在那里