当他们的产品具有相同名称时,如何使xcodebuild选择正确的目标?

时间:2015-08-28 12:46:24

标签: ios xcode build-process ios-frameworks

我有一个制作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。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

选择错误的框架似乎是由xcodebuild中的错误引起的。通过使用替代的xctool,选择并构建了正确的框架。