升级到 ios 13 时 xcodebuild 存档失败

xcodebuild archive is failing when upgrading to ios 13

我正在尝试使用 xcodebuild 为我的 iOS 应用程序创建一个 ipa。这些是我的脚本的命令 运行

xcodebuild build \
    -project AirQuality.xcodeproj \
    -scheme "Air Quality - Development" \
    -derivedDataPath /Users/gbreen/src/cuwcd/air-quality-ios/derivedData \
    -configuration "Development Release" SYMROOT=/Users/gbreen/src/cuwcd/air-quality-ios/build OBJROOT=/Users/gbreen/src/cuwcd/air-quality-ios/build DEPLOYMENT_LOCATION=YES | xcpretty
xcodebuild archive \
    -project AirQuality.xcodeproj \
    -scheme "Air Quality - Development" \
    -derivedDataPath /Users/gbreen/src/cuwcd/air-quality-ios/derivedData \
    -configuration "Development Release" SYMROOT=/Users/gbreen/src/cuwcd/air-quality-ios/build OBJROOT=/Users/gbreen/src/cuwcd/air-quality-ios/build DEPLOYMENT_LOCATION=YES \
     -archivePath /Users/gbreen/src/cuwcd/air-quality-ios/build/archive-Test/"Air Quality - Development".xcarchive \
     | xcpretty
xcrun xcodebuild \
     -exportArchive \
     -exportOptionsPlist /Users/gbreen/src/cuwcd/air-quality-ios/build/archive-Test/exportOptions-Test.plist \
     -archivePath /Users/gbreen/src/cuwcd/air-quality-ios/build/archive-Test/"Air Quality - Development".xcarchive \
     -exportPath /Users/gbreen/src/cuwcd/air-quality-ios/build/archive-Test

当我的应用程序以 iOS 12 为目标时效果很好,但是当我将其移动到 iOS 13 时,xcrun 命令失败并显示消息:

error: archive at path '/Users/gbreen/src/cuwcd/air-quality-ios/build/archive-Test/Air Quality - Development.xcarchive' is malformed

更新到 iOS 13 时,我需要注意哪些具体事项?我是否需要在我的机器上配置一些东西以便 xcrun 知道它是一个 iOS 13 xcarchive?我只是不知道该去哪里?

通过反复试验,我在自己的构建过程中发现了同样的问题。 您需要取出构建标志:

SYMROOT=...
OBJROOT=...
DSTROOT=...

我不完全知道为什么,因为我不知道 xcodebuild 的内部工作原理以及它是如何为 Xcode 11 更新的。所以,我怀疑答案在某处: this long document.

希望对您有所帮助!