Xcode 包含一个灵活的构建规则系统。然而,文档几乎不存在。
我正在为 iOS 5 和 iOS 6 开发的一个项目包括一个 rtf 帮助文件。对于 iOS 6,我可以将 rtf 文件转换为存档的 NSAttributedString 对象,然后在运行时加载它并将其直接显示到 UITextView。对于 iOS 5,我不能(在 Core Text 中没有大量工作......)所以我只想要没有样式信息的文本。
我写了一个命令行工具,RTFToData,它接受一个 RTF 文件作为输入并生成一个 .txt 文件和一个 .data 文件(其中 .data 文件包含我的项目知道如何使用的样式文本的一个版本。)
这是我的命令行工具的语法:
RTFToData [-o] source_path [destination_path] -o(可选)覆盖现有文件 source_path(必需)源 RTF 文件的路径(必须具有扩展名“rtf”或“RTF”destination_directory(可选。)将输出文件写入源文件目录,如果没有指定的目标destination_directory 必须存在(如果指定)。
我想设置我的项目,以便我可以将 .rtf 文件添加为源(未选中“添加到目标”复选框。)我希望 Xcode 在每个文件上运行我的 RTFToData 命令,指定输出文件应该被复制到一个目录,然后添加到目标。
理想情况下,我希望构建过程了解我的源 .rtf 文件与已处理的 .data 和 .txt 文件之间的依赖关系。如果我触摸 .rtf 文件,我希望构建过程重新运行 rtftodata 命令。
我是 makefile 和 unix 脚本新手。我认为我可以使用运行脚本构建规则来执行此操作,但我不清楚如何。我想我需要编写一个脚本来查找“.rtf”类型的所有文件,将该文件列表通过管道传输到我的 RTFToData 调用中。
有人可以概述我需要在 Xcode IDE 中采取的步骤以使我的项目顺利处理吗?
作为旁注,是否有一些目录可以放置命令行工具,以便它们可用于当前版本的 Xcode?到目前为止,我一直在 /Library/usr/bin 中安装 RTFToData 命令,但我真的很希望将构建工具包含在项目中,或者至少不必使用 sudo 来设置每个开发用于构建此项目的机器。