无效的Swift支持/ SwiftSupport文件夹为空

Tsu*_*ndo 32 objective-c swift ios9 xcode7

环境:Xcode 7 GM

我使用Xcode成功上传了iOS应用程序而没有错误.这个应用程序是用Objective-C和Swift编写的.

但是,成功上传后,我收到Apple发来的这封电子邮件,说明了这个错误:

无效的Swift支持 - 我们发现了您最近为XXXXX(我的应用名称)发送的一个或多个问题.要处理您的交付,必须纠正以下问题:

无效的Swift支持 - SwiftSupport文件夹为空.使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交.

一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.

任何人都有解决这个问题的方法吗?

我已经确认了以下问题.

档案中的"SwiftSupport/iphoneos /"库(.xcarchive文件)等同于"Products/Applications/myApp.ipa/Frameworks /"

我的"Valid Architectures"设置为"$(ARCHS_STANDARD)",显示"armv7k".

供应配置文件分别设置为已在iTunes连接中创建的Dev和Release.

而且,在我的"编辑方案"中,在归档时未选中测试目标.

Lix*_*ixu 56

重要说明:这仅适用于使用swift的项目,请参阅下面的注释

我刚刚遇到了同样的问题并通过进行以下更改解决了这个问题 - 如果您曾经在项目中使用Swift文件但是之后将其删除,则只需要在Build Options中将"Embedded Content Contains Swift Code"设置为NO.

  • 对于使用swift文件的项目,建议不要这样做吗?我正在使用swift文件,我遇到了同样的问题.. (12认同)
  • 这是否已重命名(8.2.1)?我只看到"始终嵌入Swift标准库".我的设置为NO,并没有帮助. (3认同)

小智 14

当在"Xcode-> Product-> Archive"之后尝试导出时,您应该选择"为ios app store部署保存"选项

同样的问题困扰了我几天,上面的设置可以解决这个问题.

无论"嵌入内容包含快速代码"是肯定还是否定.


abb*_*ood 14

这个页面上有许多相互矛盾的答案..对我有用的是这里提到的一个,它只是为iOS应用商店部署选项选择一个保存(我实际上对应用商店发布不感兴趣..我想简单为testflight内部测试推送一个版本)..

话虽这么说,我有办法在提交之前验证你的ipa是否会被批准:

  • 将.ipa文件拖到新文件夹中(称之为分析)
  • 右键单击ipa文件并将其重命名为.zip(确认对话框使用.zip)
  • 双击zip文件

这里,如果你得到一个文件夹(与.ipa文件同名),其中包含以下子文件夹:

  • 有效载荷
  • swiftSupport
  • 符号

在此输入图像描述

然后你很高兴,但如果你只看到...内的Payload文件夹,那么你得再试一次

还有几个指针

  • 我已经尝试将"嵌入式内容包含Swift代码"设置为NO,它只运行一次然后停止工作
  • 我确保我没有cocoapod错误..这也没有帮助
  • 我已经尝试手动添加SwiftSupport存档内的文件夹,如此处所示 ..但后来我得到各种副作用..没有用

结论

我认为这是由于xcode的一些错误(用Xcode 8.0 build(8A218a)编写这个...所以继续尝试你的运气,直到它工作..只是不要指望它的一些可靠的解释


Rei*_*avi 9

五步解决方案:

  1. 转到构建设置并制作标记嵌入式内容包含Swift代码 - > YES,如果您的代码包含部分swift代码或完全由Swift制作
  2. 使用Xcode-> Product-> Archive归档您的构建
  3. 导出存档构建您将突然看到差异构建大小将超过40 MB这是因为XCode添加了缺少的SwiftSupport文件夹
  4. 现在使用Application loader上传此构建
  5. 如果这不起作用,请检查如果您的系统上有多个XCode,请转到 Xcode-> Preferences-> Location-> Command Lines Tools从您选择的下拉列表中选择相同的最新或相同Xcode,并对其进行编码.完成.

这有点不足,因为swift携带行李并且必须与早期版本和Objective C代码兼容.

我浪费了很多时间希望你会发现这很有帮助;)


Jon*_*n N 7

如果使用xcodebuild导出IPA而不指定-exportOptionsPlist选项,则会发生此错误

请参阅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>
Run Code Online (Sandbox Code Playgroud)


T_c*_*der 5

我在这个问题上花了几乎一整天的时间,上述解决方案都没有奏效。我通过将我的目标 tvOS 从 13 降低到 11 来摆脱这个错误;原来的地方。这恢复了 SwiftSupport 文件夹。有待回答的问题是,这是否是因为我们的 Provision 不允许我们针对 tvOS 13 - 或者 Apple Store 的人没有与 xCode 的人保持一致,因为通过针对 tvOS 13 创建的应用程序是 14mb 而 tvOS 11 是44mb 和不同的应用程序文件夹结构。


小智 5

通过Transporter.ipa应用程序将文件上传到 App Store Connect后,我​​收到了同一封电子邮件。以下是我出错的地方:我使用临时方式分发了该应用程序。

以下步骤是我的错误的解决方案:

  1. 存档应用程序
  2. 在 TestFlight 和 App Store 上分发
  3. 出口
  4. ExportOptions.plist在导出时新创建的文件夹中打开。
  5. 如果您像我一样上传到 App Store Connect/TestFlight,请确保该method属性具有值。app-store
  6. 将导出的文件拖放.ipaTransporter中。
  7. 交付您的应用程序以进行上传。

就是这样!