Xcode命令行构建在编译时没有找到嵌入式框架。为什么不呢?

时间:2017-07-03 16:10:01

标签: ios swift xcode frameworks

感觉这个问题之前已被问过几次,但通常涉及“豆荚”。或其他复杂因素。出于这个问题的目的,我简化了上下文。

使用Xcode 8.3.3,我创建了两个项目..一个名为" A"和一个名为" F"的框架。该应用程序使用框架(在" A")的一个源文件中有一个import F语句,因此" F"需要嵌入" A"。一切都是斯威夫特,没有Obj-C。

" A"项目包含" F"项目和" F"是一个"目标依赖" (对不起,未在此屏幕截图中显示,但它确实如此)所以它看起来像这样:

enter image description here

" A"中的所有项目设置和" F"是默认值,具体而言  FRAMEWORK_SEARCH_PATHS是空白的,除了添加"复制文件"阶段嵌入" F"进入" A"在建设时间。

这就是设置,这就是问题: Xcode 的构建成功完成(编译时没有错误并嵌入&#34; F&#34;在&#34中; A&#34;),但命令行 xcodebuild 构建在编译时失败,因为import F找不到&#34; F&#34;:< / p>

 . . /A/A/ViewController.swift:10:8: error: no such module 'F'

我的大型,真实,非样本项目已经从很久以前通过Xcode版本迁移出来了......担心某些版本的偏差(例如,&#34; Embed Frameworks&#34;构建阶段的旧版本,现在只是一个&#34;复制文件&#34;阶段),我只使用Xcode 8.3.3创建了这个简单的示例案例。

在我看来, Xcode xcodebuild 应该编译相同,无论其他一些构建时间变化如何:Xcode构建了一个&#39; debug&#39 ;和xcodebuild构建了一个&#39;发布&#39 ;;他们的工作成果最终出现在不同的地方,Xcode in&#34; DerivedData&#34; (深入~/LibraryXcode/)和xcodebuild位于build文件夹旁边的&#34; A&#34;项目文件。

当Xcode没有问题时,为什么xcodebuild无法满足import F?感谢您的任何见解。

编辑:添加了压缩项目.. https://www.dropbox.com/s/lqfifh0qt4jlm5b/A%2BF.zip?dl=0

0 个答案:

没有答案