ios - 如何在 Xcode 中列出一个目标的所有文件

标签 ios xcode

是否有 XC 命令可用于列出一个目标的所有文件?

enter image description here

最佳答案

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

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

相关文章:

python - 如何从iOS应用程序调用Python的ladon框架开发的Web服务?

ios - UIBackButtonItem setTitlePositionAdjustment 不起作用

ios - EXC_BREAKPOINT UNKNOWN 在 "0"行崩溃

ios - 在 iOS 中从 Google Analytics 迁移到 Firebase

ios - 我无法在 iOS 后台获取数据

ios - 执行 "faSTLane provision"命令时出错

ios - 在呈现之前添加 View Controller View

ios - 在 ipod 上测试我的应用程序时收到错误消息

ios - 代码不在窗口层次结构 Root View 中

ios - Xcode iOS 使用 git