嘿我经常将我的XCode iPhone项目上传到svn存储库以在另一台机器上构建。资源检查
我的问题是,当我添加资源到我的项目有时我忘了添加相对于项目的资源。
我知道一个答案是要更小心(不容易当你累!)但如果有一种方法来运行脚本来检查我的资源路径是相对的,当我建立并警告我,如果他们不是为我节省时间。
我该怎么做呢?
感谢
克里斯
嘿我经常将我的XCode iPhone项目上传到svn存储库以在另一台机器上构建。资源检查
我的问题是,当我添加资源到我的项目有时我忘了添加相对于项目的资源。
我知道一个答案是要更小心(不容易当你累!)但如果有一种方法来运行脚本来检查我的资源路径是相对的,当我建立并警告我,如果他们不是为我节省时间。
我该怎么做呢?
感谢
克里斯
您可以选择在项目中的所有文件,并设置为所有这些通道型一气呵成。虽然这不是一个脚本,但这确实节省了大量的时间来完成单独的文件
我认为最好的方法来编写脚本将看看.xcodeproj文件 - 文件路径列在那里。如果您的项目名为MyProject,则需要打开MyProject.xcodeproj目录(通过在Finder中使用Show Package Contents或在终端中使用通常的cd)。
在这里你会找到一个名为project.pbxproj的文件 - 在一个不会让你的格式变得混乱并且浏览文件的编辑器中打开它。如果您在项目中搜索其中一个文件,您应该能够看到Xcode如何存储对项目文件的引用。
查找名为/ *开始PBXFileReference节* /的节。在这里所有的文件都列出来,与他们相对于项目一起,如:
... path = Classes/MyClass.h; sourceTree = SOURCE_ROOT
如果你能分析这个文件,你应该能够acheive你想要的 - 但记得要备份的文件否则你可能会破坏你的项目。
如果您改写脚本来询问SCM,如果项目中的任何内容没有提交,它将会如何?例如,认为此方案
Project Root
Codex
Project.xcodeproj
…
Design
anImage.png
的地方anImage.png
是的Codex
外,在Xcode项目位于(其路径与../
开始)。一个强大的.pbxproj
解析器将不得不支持Xcode引用文件的所有变体,以确切知道是否存在杂散文件。
OTOH,SCM知道一切都在哪里(你提到了一个SVN服务器),所以为什么不问它。
你是它的一个选择..真的很想知道更多关于如何脚本这样的事情。 – Chris 2010-03-09 09:24:46