ios - 如何在 Xcode 中列出一个目标的所有文件
解决方案
不幸的是,我不知道任何可用于构建脚本的环境变量。
我所知道的最好的方法是打开pbxproj
你的包中的文件xcodeproj
并解析它。幸运的是,它似乎是与plists
. 如果这是您的目标,您可以调用plutil
命令将其转换为 XML 或 json 以供另一个工具/命令使用。如果您需要将此列表作为构建的一部分,则可以使用“运行脚本”构建阶段。NSDictionary
如果对您有用,您也可以使用该文件直接实例化一个。
plist
很简单。它由一个root
带有一些版本字符串的字典和一个巨大的objects
字典组成。每个对象都有一个isa
类型,您感兴趣的是PBXNativeTarget
类型。扫描,直到找到具有正确键值的目标name
。一旦你找到你的目标看看它buildPhases
; AFICT 中的第一个条目buildPhases
是对应PBXSourcesBuildPhase
对象的键。该构建阶段对象有一个files
数组,其中包含另一组 ID(每个文件一个用于编译到目标中的文件),这些 ID 指向一个PBXBuildFile
对象,该对象有一个fileRef
字符串作为另一个对象的键,这次指向一个PBXFileReference
. 这个对象终于有了path
键,它将是源文件的路径。
等等……我说的是“简单”吗?
推荐阅读
- python - Try/catch 块显示 TypeError: until_not() missing 1 required positional argument: 'method'
- r - 将嵌套列表中的元素传递给 renderUI
- c# - 在 C# 中异步等待事件
- json - 从带有分隔符的字符串中的 json 文件中获取值
- python - TensorFlow FailedPreconditionError:迭代器尚未初始化
- android - 在 Android Studio 中更改选中的单选按钮颜色
- r - 在 r 的标准残差表中查找具有最大值的列和行名称
- php - 如何在forloop php中创建树
- mysql - 重启 MySQL 数据库和 apache Web 服务器后无法获取
- c++ - 完美的转发对象数组