我有一个制作iOS应用程序的项目,我们称之为Foo。它依赖/使用另一个项目,让我们称它为Bar,它构成一个框架,Bar.framework。在我的iOS应用程序Foo的构建阶段,我在“嵌入式框架”下添加了Bar.framework。
这很好用。除非我尝试在命令行上构建它失败。我建立:
xcodebuild DEPLOYMENT_LOCATION=YES DSTROOT=/tmp/Foo.dst -sdk iphonesimulator -arch x86_64 -workspace Foo.xcworkspace -scheme Foo build
它失败的原因是我有两个目标Bar-OSX和Bar-iOS都创建了一个名为Bar.framework的框架。 xcodebuild在构建时最终会选择Bar-OSX。我可以删除tareget,然后编译将在Bari-iOS被选中时起作用。
我可以通过保持产品名称不同来解决这个问题,但我不希望使用框架的代码导入具有不同名称的框架,因为它来自iOS或OSX。有没有办法解决这个问题?