【问题标题】:Xcode workspace schemes definitionXcode 工作区方案定义
【发布时间】:2014-01-12 19:30:38
【问题描述】:

有一个很好的命令可以列出 Xcode 工作区中的所有方案:

xcodebuild -workspace PATH -list

如何在没有 xcodebuild 的情况下以编程方式提取此列表?它应该存储在 Xcode 项目文件中的某个位置。但我在 xcworkspace 中找不到它。例如,在this project

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    方案位于 xcuserdata -- 每个方案的单独文件

    如果它们不存在,它们是动态构建的。 (例如,如果该文件夹没有像在那个 repo 中那样签入) 要构建它们,只需枚举所有目标

    共享方案例外:它们也以每个方案 1 个文件的形式出现,但位于 xcshareddata 目录中。


    枚举这些文件以获取方案。如果它们不存在,则用户永远不会运行 Xcode

    【讨论】:

    • 感谢您的回答。问题是 Xcode 如何根据存储库中的文件生成这些方案。
    • 我不明白.. 如果文件不存在,则没有方案。如果需要,请在这种情况下枚举所有目标。因为那是默认值:每个目标 1 个方案。
    • 问题是“xcodebuild -list”究竟是如何工作的。它不使用 xcuserdata 文件。正如我假设的那样,它从 xcodeproject 中获取数据。但具体的算法是什么?更多的是关于 Xcode 项目文件格式的问题。
    • 算法就是foreach target in xcodeFile_xml; scheme=scheme_from_target
    • 但正如我所说,这只有在没有用户制作/定制方案时才适用
    猜你喜欢
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2013-06-11
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2014-06-18
    相关资源
    最近更新 更多