【问题标题】:xcodebuild (from Xcode12 ) - prevent building for Apple Silicon (arm64)xcodebuild ( 来自 Xcode12 ) - 防止为 Apple Silicon (arm64) 构建
【发布时间】:2021-01-03 13:35:39
【问题描述】:

使用 Xcode 12 中的 xcodebuild 并为 Mac 构建,如何防止它尝试为 arm64 构建?

我正在尝试通过 xcodebuild 在命令行上构建库 (mailcore2) 的存档,以便为 SPM 分发创建 xcarchive。

在 Xcode 11 上,这个命令可以正常工作:

xcodebuild archive -scheme "mailcore osx" \
    -destination "platform=OS X" \
    -archivePath "$BUILD_DIR/mailcore2.macOS.xcarchive" \
    SKIP_INSTALL=NO \
    BUILD_LIBRARY_FOR_DISTRIBUTION=YES

但是,在 Xcode 12 上,它失败并显示以下消息:

The following build commands failed:
    Ld /Users/<USER>/Library/Developer/Xcode/DerivedData/mailcore2-fuubwipfjyvskpfsxtortvjsugny/Build/Intermediates.noindex/ArchiveIntermediates/mailcore\ osx/IntermediateBuildFilesPath/mailcore2.build/Release/mailcore\ osx.build/Objects-normal/arm64/Binary/MailCore normal arm64

尝试为 arm64 (Apple Silicon) 构建时似乎失败了,这是有道理的,因为依赖项还没有为 arm Mac 构建。现在没什么大不了的,我只会为 x86_64 Mac 构建。经过一番搜索,我发现您可以在 -destination 参数下指定架构,如下所示:-destination "platform=OS X,arch=x86_64"

但是,当我尝试使用它时,以下内容会以同样的方式失败:

xcodebuild archive -scheme "mailcore osx" \
    -destination "platform=OS X,arch=x86_64" \
    -archivePath "$BUILD_DIR/mailcore2.macOS.xcarchive" \
    SKIP_INSTALL=NO \
    BUILD_LIBRARY_FOR_DISTRIBUTION=YES

有什么想法吗?

【问题讨论】:

    标签: xcode macos xcodebuild xcode12 apple-silicon


    【解决方案1】:

    好的,所以通过对 xcodebuild 手册页的更多搜索和大量试验,似乎直接设置 -arch 参数并省略 -destination 参数就可以完成它:

    xcodebuild archive -scheme "mailcore osx" \
        -arch "x86_64" \
        -archivePath "$BUILD_DIR/mailcore2.macOS.xcarchive" \
        SKIP_INSTALL=NO \
        BUILD_LIBRARY_FOR_DISTRIBUTION=YES
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-15
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 2023-02-20
      • 2021-02-26
      • 1970-01-01
      • 2021-03-14
      相关资源
      最近更新 更多