Xcode 7.3.1的“Swift支持无效-SwiftSupport文件夹丢失”

qvsjd97n  于 2022-12-24  发布在  Swift
关注(0)|答案(8)|浏览(438)

在使用Application Loader提交应用程序更新后,我收到了来自Apple的这封电子邮件:
我们发现您最近为“[应用程序名称]"进行的传送存在一个或多个问题。若要处理您的传送,必须更正以下问题:
Swift支持无效-SwiftSupport文件夹丢失。请使用Xcode的当前公共(GM)版本重建您的应用,然后重新提交。
一旦这些问题得到纠正,您就可以重新交付纠正后的二进制文件。
我已经确认这个二进制文件是用最新的Xcode GM(7.3.1)构建的,所以这不是问题所在。我已经在网上看到了这个问题的各种潜在修复,但希望通过提供进一步的细节,有人可能能够帮助我找到具体的解决方案。

  • 使用应用程序加载程序3.5提交IPA文件,没有任何问题。
  • 之前版本的应用程序不使用Swift,但此次更新使用了Swift。
  • “嵌入式内容包含Swift代码”构建设置设置为NOMy understanding是指只有当我们有一个依赖于Swift或混合目标的纯Objective-C目标时,才应该是YES
  • 该项目使用CocoaPods,但在本次更新中我们的pod没有任何变化。
  • 之前版本的应用程序包括WatchKit应用程序和扩展,但此次更新没有。
  • 在同一个版本生成的xcarchive中,有一个SwiftSupport文件夹,它包含一个名为iphoneos的子文件夹,其中包含几个Apple Swift库,如libswiftFoundation.dylib
  • 如果我将.ipa文件重命名为.zip并将其解压缩,则其应用程序包不包含SwiftSupport文件夹,但包含具有相同Swift dylibs的Frameworks文件夹。
mbzjlibv

mbzjlibv1#

这里的解决方案就是这个答案。我们需要使用新的-exportOptionsPlist标志和xcodebuild,而不是旧的-exportFormat-exportWithOriginalSigningIdentity标志。plist只需要将method键设置为app-store

e5njpo68

e5njpo682#

根本原因是配置文件是临时的,它不会在ipa中创建SwiftSupport目录。该文件夹是使用app-store作为导出方法创建的,所以当我将配置文件更新为app-store时,它对我有效。
参考文献

ijnw1ujt

ijnw1ujt3#

我通过Transporter应用程序将.ipa文件上传到App Store Connect后收到了这封相同的电子邮件。以下是我出错的地方:* * 我使用ad hoc分发了应用程序。**
以下步骤是我的错误的解决方案:
1.存档应用程序
1.在TestFlight和App Store上分发
1.出口
1.在导出时新创建的文件夹中打开ExportOptions.plist
1.如果您像我一样上传到App Store Connect/TestFlight,请确保method属性的值为app-store
1.将导出的.ipa文件拖放到Transporter
1.交付您的应用以上传。
就是这样!
原始答案如下:https://stackoverflow.com/a/62568526/10374366

wztqucjr

wztqucjr4#

在我的情况下,我只是添加了多余的swift文件到项目中,它解决了问题。

ux6nzvsh

ux6nzvsh5#

在创建ipa文件时,您应该选择“保存为iOS应用商店部署”,而不是“保存为临时部署”选项。

os8fio9y

os8fio9y6#

EXPO用户。我在expo build上遇到了这个问题:ios让我困惑了好几天。expo服务器上的build大约是39 mbs,比以前的版本小得多。

为了修好它我不得不用
博览会大楼:ios -c
这重置了所有的凭据(我对所有问题都说是),然后重新构建应用程序。结果得到的ipa文件是250 mbs,现在一切都在正常工作。

lhcgjxsq

lhcgjxsq7#

使用此https://github.com/ndpiparava/Swift_StripArm64e脚本文件从.app文件中删除arm64e
..尼丁

ymdaylpp

ymdaylpp8#

在我们的案例中,我们使用app center来准备android和ios版本,对于生产分支,我们使用release provisioning profile,对于普通分支,我们使用普通provisioning profile,我们没有选择生产版本,而是使用普通分支版本,这导致了这个问题。

相关问题