有没有可以用来列出一个目标的所有文件的 XC 命令?
Best Answer-推荐答案 strong>
很遗憾,我不知道任何可用于构建脚本的环境变量。
据我所知,最好的方法是打开 xcodeproj 包中的 pbxproj 文件并对其进行解析。幸运的是,它似乎是纯文本格式 compatible使用 plists 。如果这是您的目标,您可以调用 plutil 命令将其转换为 XML 或 json 以供另一个工具/命令使用。如果您需要将此列表作为构建的一部分,则可以使用“运行脚本”构建阶段。如果对您有用,您也可以直接使用该文件实例化 NSDictionary 。
plist 非常简单。它由一个带有一些版本字符串的 root 字典和一个巨大的 objects 字典组成。每个对象都有一个 isa 类型,而您感兴趣的是 PBXNativeTarget 类型。扫描直到找到 name 键值正确的目标。一旦你找到你的目标看看它的 buildPhases ; AFICT buildPhases 中的第一个条目是对应的 PBXSourcesBuildPhase 对象的键。该构建阶段对象有一个 files 数组,其中包含另一组 ID(一个用于编译到目标中的每个文件),它们指向一个 PBXBuildFile 对象,该对象具有 fileRef 字符串作为 另一个 对象的键,这次是 PBXFileReference 。这个对象finally有一个path 键,它是源文件的路径。
等等……我说的是“简单”吗?
关于ios - 如何在 Xcode 中列出一个目标的所有文件,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/53045024/
|