在使用 Application Loader 提交应用程序更新后,我收到了来自 Apple 的这封电子邮件:
We have discovered one or more issues with your recent delivery for "[App Name]". To process your delivery, the following issues must be corrected:
Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
Once these issues have been corrected, you can then redeliver the corrected binary.
我已确认此二进制文件是使用最新的 Xcode GM (7.3.1) 构建的,因此这不是问题所在。我在网上看到了针对此问题的多种潜在修复方法,但我希望通过提供更多详细信息,有人可以帮助我找出具体的解决方案。
- 使用 Application Loader 3.5 提交了一个 IPA 文件,没有任何问题。
- 以前版本的应用程序不使用 Swift,但这次更新使用了 Swift。
- “嵌入的内容包含 Swift 代码”build设置设置为
NO
。 My understanding只有当我们有一个依赖于 Swift 或混合目标的纯 Objective-C 目标时,这才应该是YES
。 - 该项目使用 CocoaPods,但我们的 pod 中没有为此次更新做任何更改。
- 该应用程序的先前版本包含 WatchKit 应用程序和扩展程序,但此更新不包含。
- 在使用相同构建生成的
xcarchive
中,SwiftSupport
文件夹就在那里。它包含一个名为iphoneos
的子文件夹,其中包含多个 Apple Swift 库,例如libswiftFoundation.dylib
。 - 如果我将
.ipa
文件重命名为.zip
并取消存档,它的应用程序包不包含SwiftSupport
文件夹,但包含包含具有相同 Swift 动态库的Frameworks
文件夹。
最佳答案
此处的解决方案在 this answer 中.我们需要在 xcodebuild
中使用新的 -exportOptionsPlist
标志,而不是旧的 -exportFormat
和 -exportWithOriginalSigningIdentity
标志。 plist 只需要将 method
键设置为 app-store
。
关于ios - "Invalid Swift Support - The SwiftSupport folder is missing"与 Xcode 7.3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38981628/