"Invalid Swift Support - The SwiftSupport folder is missing" 与 Xcode 7.3.1
"Invalid Swift Support - The SwiftSupport folder is missing" with Xcode 7.3.1
使用 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,但本次更新可以。
- "Embedded Content Contains Swift Code" 构建设置设置为
NO
。 My understanding 如果我们有一个依赖于 Swift 或混合目标的纯 Objective-C 目标,那么这应该只是 YES
。
- 该项目使用 CocoaPods,但我们的 pods 本次更新没有任何变化。
- 以前版本的应用程序包含一个 WatchKit 应用程序和扩展程序,但这次更新没有。
- 在使用相同构建生成的
xcarchive
中,SwiftSupport
文件夹就在那里。它包含一个名为 iphoneos
的子文件夹,其中包含多个 Apple Swift 库,例如 libswiftFoundation.dylib
.
- 如果我将
.ipa
文件重命名为 .zip
并取消存档,其应用程序包不包含 SwiftSupport
文件夹,但包含一个 Frameworks
文件夹相同的 Swift 动态库。
此处的解决方案在 中。我们需要使用带有 xcodebuild
的新 -exportOptionsPlist
标志,而不是旧的 -exportFormat
和 -exportWithOriginalSigningIdentity
标志。 plist 只需要将 method
键设置为 app-store
.
就我而言,我只是向项目添加了冗余 swift 文件,它解决了问题。
您应该在创建 ipa 文件时选择 "Save for iOS App Store Deployment" 而不是 "Save for Ad Hoc Deployment" 选项。
根本原因是供应配置文件是临时的,它不会在 ipa 中创建 SwiftSupport
目录。该文件夹是使用 app-store
作为导出方法创建的,因此当我将配置文件更新为 app-store
.
时它对我有用
使用此https://github.com/ndpiparava/Swift_StripArm64e 脚本文件从 .app 文件中删除 arm64e
..尼廷
我在通过 Transporter 应用程序将 .ipa
文件上传到 App Store Connect 后收到了同一封电子邮件。以下是我出错的地方:我使用临时分发应用程序。
以下步骤是我的错误的解决方案:
- 存档应用程序
- 在 TestFlight 和 App Store 上分发
- 导出
- 在新创建的导出文件夹中打开
ExportOptions.plist
。
- 如果您像我一样上传到 App Store Connect/TestFlight,请确保
method
属性 的值为 app-store
。
- 将导出的
.ipa
文件拖放到 Transporter.
- 交付您的应用以上传它。
就是这样!
原始答案在这里:
EXPO 位用户。
我在 expo build:ios 遇到了这个问题,这让我困惑了好几天。
来自 expo 服务器的构建大约为 39mbs,远小于以前的版本。
要修复它,我必须使用
expo build:ios -c
这会重置所有凭据(我对所有问题都说是)然后重建应用程序。生成的 ipa 文件是 250mbs,现在一切正常。
使用 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,但本次更新可以。
- "Embedded Content Contains Swift Code" 构建设置设置为
NO
。 My understanding 如果我们有一个依赖于 Swift 或混合目标的纯 Objective-C 目标,那么这应该只是YES
。 - 该项目使用 CocoaPods,但我们的 pods 本次更新没有任何变化。
- 以前版本的应用程序包含一个 WatchKit 应用程序和扩展程序,但这次更新没有。
- 在使用相同构建生成的
xcarchive
中,SwiftSupport
文件夹就在那里。它包含一个名为iphoneos
的子文件夹,其中包含多个 Apple Swift 库,例如libswiftFoundation.dylib
. - 如果我将
.ipa
文件重命名为.zip
并取消存档,其应用程序包不包含SwiftSupport
文件夹,但包含一个Frameworks
文件夹相同的 Swift 动态库。
此处的解决方案在 xcodebuild
的新 -exportOptionsPlist
标志,而不是旧的 -exportFormat
和 -exportWithOriginalSigningIdentity
标志。 plist 只需要将 method
键设置为 app-store
.
就我而言,我只是向项目添加了冗余 swift 文件,它解决了问题。
您应该在创建 ipa 文件时选择 "Save for iOS App Store Deployment" 而不是 "Save for Ad Hoc Deployment" 选项。
根本原因是供应配置文件是临时的,它不会在 ipa 中创建 SwiftSupport
目录。该文件夹是使用 app-store
作为导出方法创建的,因此当我将配置文件更新为 app-store
.
使用此https://github.com/ndpiparava/Swift_StripArm64e 脚本文件从 .app 文件中删除 arm64e
..尼廷
我在通过 Transporter 应用程序将 .ipa
文件上传到 App Store Connect 后收到了同一封电子邮件。以下是我出错的地方:我使用临时分发应用程序。
以下步骤是我的错误的解决方案:
- 存档应用程序
- 在 TestFlight 和 App Store 上分发
- 导出
- 在新创建的导出文件夹中打开
ExportOptions.plist
。 - 如果您像我一样上传到 App Store Connect/TestFlight,请确保
method
属性 的值为app-store
。 - 将导出的
.ipa
文件拖放到 Transporter. - 交付您的应用以上传它。
就是这样!
原始答案在这里:
EXPO 位用户。 我在 expo build:ios 遇到了这个问题,这让我困惑了好几天。 来自 expo 服务器的构建大约为 39mbs,远小于以前的版本。
要修复它,我必须使用
expo build:ios -c
这会重置所有凭据(我对所有问题都说是)然后重建应用程序。生成的 ipa 文件是 250mbs,现在一切正常。