首页 > 解决方案 > 升级到 ios 13 时 xcodebuild 存档失败

问题描述

我正在尝试使用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?我只是不知道该去哪里?

标签: iosxcodebuildxcrun

解决方案


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

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

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

我希望这会有所帮助!


推荐阅读