感觉这个问题之前已被问过几次,但通常涉及“豆荚”。或其他复杂因素。出于这个问题的目的,我简化了上下文。
使用Xcode 8.3.3,我创建了两个项目..一个名为" A"和一个名为" F"的框架。该应用程序使用框架(在" A")的一个源文件中有一个import F
语句,因此" F"需要嵌入" A"。一切都是斯威夫特,没有Obj-C。
" A"项目包含" F"项目和" F"是一个"目标依赖" (对不起,未在此屏幕截图中显示,但它确实如此)所以它看起来像这样:
" A"中的所有项目设置和" F"是默认值,具体而言
FRAMEWORK_SEARCH_PATHS
是空白的,除了添加"复制文件"阶段嵌入" F"进入" A"在建设时间。
这就是设置,这就是问题: Xcode 的构建成功完成(编译时没有错误并嵌入" F"在&#34中; A"),但命令行 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