ios - 升级到 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?我只是不知道该去哪里?
解决方案
通过反复试验,我在自己的构建过程中发现了同样的问题。您需要取出构建标志:
SYMROOT=...
OBJROOT=...
DSTROOT=...
我不完全知道为什么,因为我不知道xcodebuild
Xcode 11 的内部工作原理以及它是如何更新的。所以,我怀疑答案在某处:this long document。
我希望这会有所帮助!
推荐阅读
- java - 让 websocket 客户端订阅,前提是该通道有一个端点
- html - 如何在 html 的 iframe 中显示网站
- vb.net - 覆盖类型的 Setter/Getter
- excel - 使用 VBA 代码复制、粘贴和删除受保护的 Excel 工作表中的行/行
- php - php如何避免重复数据
- ios - 如何设置一个水平分页的 UIScrollView,上面有一个 UITextView
- mysql - 是否可以从单个查询将行插入到两个表中
- matlab - 在 Matlab 中读取 jpeg 文件失败
- java - Spring注入接口实现
- linux - 如何在linux中正确使用sed