Jenkins 自动化 iOS 构建缺少 SwiftSupport 文件夹



目前我遇到了一个问题,当 jenkins 执行一个作业来生成一个 .ipa 以提交到testflight时,Apple 会给我发送以下电子邮件:

我们发现您最近递送的"XXXXX"存在一个或多个问题。要处理您的投放,必须更正以下问题:

无效的 Swift 支持 - 缺少 SwiftSupport 文件夹。使用当前公共 (GM) 版本的 Xcode 重新构建您的 app,然后重新提交。

更正这些问题后,可以重新提供更正的二进制文件。

我打开了上传的 .ipa,但这个文件夹确实不存在。所以我尝试手动进行构建...我使用了 jenkins 用于生成构建的相同工作区,我手动生成了一个构建以上传到 AppStore,一切都很顺利......

自动生成可能存在什么问题?詹金斯可能缺少某个步骤吗?

有人有同样的问题吗?

存档应用程序

xcodebuild 
-workspace "${WORKSPACE_FILE}"  # only if you are using workspace
-scheme "${SCHEME_NAME}" 
-sdk "${TARGET_SDK}" 
-archivePath "${PROJDIR}/Build/${SCHEME_NAME}.xcarchive" 
-configuration Release 
archive

将存档导出到 IPA

xcodebuild 
-exportArchive 
-archivePath "${PROJDIR}/Build/${SCHEME_NAME}.xcarchive" 
-exportOptionsPlist "${PROJDIR}/exportOptions.plist" 
-exportPath "${PROJDIR}/Release"

exportOptions.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
</dict>
</plist>

您是否在 xcodebuild 命令上指定了 -exportOptionsPlist 选项?

有关可用键,请参阅xcodebuild -help,但您可能想要一个至少将方法键设置为"app-store"的 plist,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
</dict>
</plist>

最新更新