目前我遇到了一个问题,当 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>