简体   繁体   English

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

[英]Jenkins automated iOS build has SwiftSupport folder missing

Currently I'm having an issue that when jenkins executes a job to generate a .ipa to submit to testflight, Apple sends me the following email: 目前我遇到一个问题,当jenkins执行工作以生成.ipa以提交给testflight时,Apple会向我发送以下电子邮件:

We have discovered one or more issues with your recent delivery for "XXXXX". 我们发现您最近交付的“XXXXX”存在一个或多个问题。 To process your delivery, the following issues must be corrected: 要处理您的交付,必须纠正以下问题:

Invalid Swift Support - The SwiftSupport folder is missing. 无效的Swift支持 - 缺少SwiftSupport文件夹。 Rebuild your app using the current public (GM) version of Xcode and resubmit it. 使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交。

Once these issues have been corrected, you can then redeliver the corrected binary. 一旦纠正了这些问题,您就可以重新更新已更正的二进制文件。

I opened the .ipa that was uploaded and it's true this folder isn't there. 我打开了上传的.ipa,这个文件夹不存在。 So I tried doing the build manually... I used the same workspace that jenkins uses to generate the builds, and I manually generated a build to upload to AppStore and everything went well... 所以我尝试手动进行构建...我使用了jenkins用来生成构建的相同工作区,我手动生成了一个构建来上传到AppStore,一切顺利......

What might be the problem with the automated build? 自动构建可能会出现什么问题? Is there a step that jenkins might be missing? 詹金斯可能缺少一步吗?

Is anyone having the same issue?? 有人有同样的问题??

Are you specifying the -exportOptionsPlist option on your xcodebuild command? 您是否在xcodebuild命令中指定了-exportOptionsPlist选项?

See xcodebuild -help for the available keys, but you probably want a plist with at least he method key set to "app-store", like this: 请参阅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>

Archive the application 归档应用程序

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

Export the archive to an ipa 将存档导出到ipa

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

exportOptions.plist 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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM