Xcode构建阶段脚本编写的教程或指南
我想在Xcode中通过脚本将一些文件添加到编译源的构建阶段,这些文件来自某个文件夹的引用。目前我还没找到太多相关的文档。
- 哪里可以找到关于Xcode构建阶段脚本的一般文档(或者好的教程)?
- 我该如何将文件添加到编译源阶段?
- 我该如何获取关于项目和其中文件夹引用的信息?
- 如果我想用Ruby或Python来写脚本,跟用bash脚本有什么特别需要注意的地方吗?
1 个回答
22
如果你想通过脚本把文件添加到 Compile Sources
这个构建阶段,你需要对项目的 project.pbxproj
文件进行一些编程操作。
简单来说,你需要先把 project.pbxproj
文件解析成内存中的数据结构,然后通过编程的方式修改这个数据结构,最后再把它写回一个新的 project.pbxproj
文件。
网上有几个项目可以帮助你完成这个操作,不过我自己没有试过:
- https://github.com/owlforestry/pbxproject
- http://github.com/gonzoua/pbxproj/
- https://github.com/facebook/three20/blob/master/src/scripts/Pbxproj.py
- http://code.google.com/p/xcodeutils
- https://github.com/appcelerator/titanium_mobile/blob/master/support/iphone/pbxproj.py
这里还有一系列博客文章,里面有关于 XCode 的 project.pbxproj
文件内容和格式的好信息。
- http://danwright.info/blog/2010/10/xcode-pbxproject-files/
- http://danwright.info/blog/2010/10/xcode-pbxproject-files-2/
- http://danwright.info/blog/2010/10/xcode-pbxproject-files-3/
最后,如果你只是想做一些简单的修改,特别是如果你不在乎 project.pbxproj
文件的格式是否被搞乱,你可以参考 这个 Stack Overflow 的回答,在命令行上这样解析 project.pbxproj
文件:
plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj
祝你解析顺利!