Xcode工作区参考项目由环境变量

时间:2011-12-14 08:13:09

标签: xcode workspace

我需要通过环境变量引用Xcode工作区中的项目。 Xcode工作区文件可能如下所示:

<Workspace
   version = "1.0">
   <FileRef
      location = "group:../../Some/Dir/SomeLibrary.xcodeproj">
   </FileRef>
   <FileRef
      location = "group:SomeApp/SomeApp.xcodeproj">
   </FileRef>
</Workspace>

我希望SomeLibrary项目由环境变量引用,以便工作区文件和项目可以在不同的开发人员环境中使用(lib项目在几个不同的项目之间共享)。关于如何做到这一点的任何想法?是否在某处记录了XML格式?

谢谢! :)

2 个答案:

答案 0 :(得分:3)

在您的XCode 4首选项中,您将看到“位置”选项卡,在“源树”部分中,您可以放置​​一个环境变量,如位置(您可以在机器之间进行更改)。您可以使用这些设置来更改您尝试在项目中包含或引用的库的路径。

它不是来自终端命令行的环境变量,但是大多数人再次没有从终端启动XCode,所以你不应该期望从double获取$ PATH或其他UNIX风格的环境变量点击任何应用程序,更不用说XCode IDE。这是一个很好的选择。

还有更多信息in this related questionApple's documentation on what they are and how to set them up(针对XCode 3,但相同的概念适用于XCode 4)。

如果我能提供更多信息,请告诉我,我希望我的答案有所帮助!

答案 1 :(得分:0)

我想我需要自己回答这个问题。根据我的研究,不可能在工作空间项目中使用动态位置(环境变量,源代码树等​​)。

解决方案1: 您可以使用符号链接实现我想要做的事情。在我当前的工作区中,我创建了一个应用程序项目,以及一个指向本地文件系统上的符号链接的项目条目。通过这种方式,可以切换项目并为库项目提供动态位置。我不确定XCode在添加时是否正确处理了这个链接,所以我手动添加了这样的项目条目:

<FileRef
    location = "group:Libraries/SomeLibrary/SomeLibrary.xcodeproj">
</FileRef>

Where SomeLibrary(重要:SomeLibrary文件夹需要是符号链接,否则XCode无法找到项目内容)是本地文件系统上其他地方的静态库项目的符号链接。这样,开发人员可以拥有不同的库路径,并且可以在需要时轻松切换版本。

解决方案2: 将静态库项目添加为子项目并使用交叉引用。对于子项目,可以使用源树并使用动态位置。

我没有广泛测试这些解决方案,因此我会在使用它一段时间后回复。