在使用Application Loader提交应用程序更新后,我收到了来自Apple的这封电子邮件:
我们发现您最近为“[应用程序名称]"进行的传送存在一个或多个问题。若要处理您的传送,必须更正以下问题:
Swift支持无效-SwiftSupport文件夹丢失。请使用Xcode的当前公共(GM)版本重建您的应用,然后重新提交。
一旦这些问题得到纠正,您就可以重新交付纠正后的二进制文件。
我已经确认这个二进制文件是用最新的Xcode GM(7.3.1)构建的,所以这不是问题所在。我已经在网上看到了这个问题的各种潜在修复,但希望通过提供进一步的细节,有人可能能够帮助我找到具体的解决方案。
- 使用应用程序加载程序3.5提交IPA文件,没有任何问题。
- 之前版本的应用程序不使用Swift,但此次更新使用了Swift。
- “嵌入式内容包含Swift代码”构建设置设置为
NO
。My understanding是指只有当我们有一个依赖于Swift或混合目标的纯Objective-C目标时,才应该是YES
。 - 该项目使用CocoaPods,但在本次更新中我们的pod没有任何变化。
- 之前版本的应用程序包括WatchKit应用程序和扩展,但此次更新没有。
- 在同一个版本生成的
xcarchive
中,有一个SwiftSupport
文件夹,它包含一个名为iphoneos
的子文件夹,其中包含几个Apple Swift库,如libswiftFoundation.dylib
。 - 如果我将
.ipa
文件重命名为.zip
并将其解压缩,则其应用程序包不包含SwiftSupport
文件夹,但包含具有相同Swift dylibs的Frameworks
文件夹。
8条答案
按热度按时间mbzjlibv1#
这里的解决方案就是这个答案。我们需要使用新的
-exportOptionsPlist
标志和xcodebuild
,而不是旧的-exportFormat
和-exportWithOriginalSigningIdentity
标志。plist只需要将method
键设置为app-store
。e5njpo682#
根本原因是配置文件是临时的,它不会在ipa中创建
SwiftSupport
目录。该文件夹是使用app-store
作为导出方法创建的,所以当我将配置文件更新为app-store
时,它对我有效。参考文献
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
wztqucjr4#
在我的情况下,我只是添加了多余的swift文件到项目中,它解决了问题。
ux6nzvsh5#
在创建ipa文件时,您应该选择“保存为iOS应用商店部署”,而不是“保存为临时部署”选项。

os8fio9y6#
EXPO用户。我在expo build上遇到了这个问题:ios让我困惑了好几天。expo服务器上的build大约是39 mbs,比以前的版本小得多。
为了修好它我不得不用
博览会大楼:ios -c
这重置了所有的凭据(我对所有问题都说是),然后重新构建应用程序。结果得到的ipa文件是250 mbs,现在一切都在正常工作。
lhcgjxsq7#
使用此https://github.com/ndpiparava/Swift_StripArm64e脚本文件从.app文件中删除arm64e
..尼丁
ymdaylpp8#
在我们的案例中,我们使用app center来准备android和ios版本,对于生产分支,我们使用release provisioning profile,对于普通分支,我们使用普通provisioning profile,我们没有选择生产版本,而是使用普通分支版本,这导致了这个问题。