Swift框架不能使用除“Debug”或“Release”以外的其他构buildconfiguration:没有这样的模块
每当我尝试使用名为“Debug”或“Release”以外的构buildconfiguration时,Xcode突然找不到我的Swift框架。 configuration与其名称完全相同(实际上,新的configuration是从工作的“debugging”configuration中复制的)。
Xcode报告“没有这样的模块”
这似乎是一个非常奇怪的错误。 肯定有人遇到过这个? 我的Googlesearch没有结果。 有没有人有任何想法可能会导致这个问题? 我很确定我正确地添加了框架。
我创build了一个简短的截屏video,向您展示我在做什么: http : //www.screencast.com/t/zpgZ5ZYgvH
底线:
- 确保项目目前使用第三方Swift框架构build
- 在项目/文件导航器中select项目
- 在编辑器左侧边栏中select目标上方的项目,并确保您在“信息”选项卡上
- 通过单击configuration列表下方的+button,然后select“重复XXXconfiguration”,复制当前configuration(可能是“debugging”
- 转到产品(菜单)>scheme>编辑scheme,修改您的scheme以使用新configuration…
- select左侧栏中的运行
- 在“构buildconfiguration”下select新的configuration
- 试图再次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,但框架在那里