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