我需要通过环境变量引用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格式?
谢谢! :)
答案 0 :(得分:3)
在您的XCode 4首选项中,您将看到“位置”选项卡,在“源树”部分中,您可以放置一个环境变量,如位置(您可以在机器之间进行更改)。您可以使用这些设置来更改您尝试在项目中包含或引用的库的路径。
它不是来自终端命令行的环境变量,但是大多数人再次没有从终端启动XCode,所以你不应该期望从double获取$ PATH或其他UNIX风格的环境变量点击任何应用程序,更不用说XCode IDE。这是一个很好的选择。
还有更多信息in this related question和Apple'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: 将静态库项目添加为子项目并使用交叉引用。对于子项目,可以使用源树并使用动态位置。
我没有广泛测试这些解决方案,因此我会在使用它一段时间后回复。