代码之家  ›  专栏  ›  技术社区  ›  DarkDust

如何将旧版构建系统与Xcode10的“XcodeBuild”一起使用?

  •  40
  • DarkDust  · 技术社区  · 7 年前

    我想使用Xcode10的新构建系统进行开发,但是我们在持续集成系统中的构建失败了,因为 xcarchive 出品有一个问题: Info.plist XC存档 缺少 ApplicationProperties 钥匙和里面的信息!

    结果是切换回旧的构建系统修复了这个问题。这可以在工作区设置(文件>工作区设置>构建系统)中完成。但是我更愿意保留新的构建系统用于开发,并且只将旧的构建系统用于CI构建。

    有办法吗 xcodebuild 使用旧版生成系统而不修改工作区?

    4 回复  |  直到 6 年前
        1
  •  67
  •   DarkDust    7 年前

    xcodebuild : -UseModernBuildSystem=<value> . 值可以是 0 NO 使用传统(“原始”)构建系统,或 1 YES 使用新的生成系统。

    例如:

    xcodebuild -workspace Foo.xcworkspace -scheme Bar -configuration Release -archivePath /path/to/Foo.xcarchive clean archive -UseModernBuildSystem=NO
    

    ( -UseNewBuildSystem=<value> 似乎也可以工作;这个标志是在Xcode9中引入的,但我怀疑 UseModernBuildSystem 将成为这方面的“官方”标志。)

        2
  •  22
  •   niko.mikulicic    6 年前

    延伸黑尘 answer ,以防您使用 快车道 对于自动生成,附加参数如 UseModernBuildSystem 可以通过 xcargs :

    build_app(
       // ... other necessary parameters,
       xcargs: "-UseModernBuildSystem=NO"
    )
    
        3
  •  7
  •   oden    6 年前

    选择Xcode 10的构建系统:

    在Xcode中,转到:文件->项目设置(或工作区设置)->生成系统

    从那里你可以选择 New Build System (Default) Legacy Build System

    希望这项帮助能使事情变得容易些。

        4
  •  6
  •   Naresh    6 年前

    将构建系统更改为 Legacy Build System From New Build System

    打开xcode-->选择文件-->选择工作区设置

    将生成系统从新的生成系统更改为旧的生成系统-->单击“完成”。

    e-->选择工作区设置

    enter image description here

    将生成系统从新的生成系统更改为旧的生成系统-->单击“完成”。

    enter image description here