OStack程序员社区-中国程序员成长平台

标题: ios - 如何在 Xcode 中列出一个目标的所有文件 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:45
标题: ios - 如何在 Xcode 中列出一个目标的所有文件

有没有可以用来列出一个目标的所有文件的 XC 命令?

enter image description here



Best Answer-推荐答案


很遗憾,我不知道任何可用于构建脚本的环境变量。

据我所知,最好的方法是打开 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4