我正在与AR Drone合作开发新的应用程序。
我想在两个项目之间建立依赖关系。所以当我编译一个时,我希望Xcode能够帮助自动编译另一个。我曾与谷歌搜索过这个问题。找到的解决方案非常陈旧,不适用于Xcode 4。
现在,我有两个项目,即ARDroneEngine.xcodeproj和FreeFlight.xcodeproj。
ARDroneEngine是FreeFlight的库。屏幕截图如下。
如果我使用iPhone / iPad模拟器编译FreeFlight,那很好,因为最后使用相同的设置编译ARDroneEngine。这就是问题所在。为了测试我的应用程序,我想在我的iPhone中编译和运行FreeFlight。因此,当我将设置更改为“FreeFlight> xxx的iPhone”并进行编译时,会出现错误:“Apple Mach-O Linker Error”。
我认为问题源于两个项目之间的目标依赖关系。 一个快速的解决方法是:使用新的Scheme“ARDroneEngine> xxx的iPhone”再次编译ARDroneEngine,并在Xcode中为我的iPhone启动FreeFlight。
但我想要一个更完整的解决方案,包括项目之间的依赖关系。如果需要更多信息来解决问题,我可以随时提供新信息。
谢谢, 史蒂芬
答案 0 :(得分:1)
Xcode对这类案例的解决方案是使用包含两个项目的工作区:然后,当一个项目有一个引用另一个项目的构建产品的目标时,它会自动计算出依赖项并按顺序构建它们。
就是这样!现在您可以选择FreeFlight> xxx方案,它将在构建应用程序之前自动构建库项目。
您可以在工作区的Xcode帮助中获得有关这些说明的更完整摘要(包括屏幕截图和所有内容)。