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

Shi*_*pta 5 testflight swift watchkit react-native watchos

我的构建已成功上传,但由于苹果发送的以下问题未在 testflight 上显示。
应用程序详细信息:我有 React Native 的 iPhone 应用程序和 swift 语言的 watchOS 应用程序。Xcode 版本:11.3

苹果报告的问题 -

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

我搜索并尝试了很多东西,但没有任何效果。也试过下面的链接

  1. 缺少 SwiftSupport 文件夹。使用当前公共 (GM) 版本的 Xcode 重建您的应用程序并重新提交
  2. https://forums.developer.apple.com/thread/125902
  3. “嵌入的内容包含 Swift 代码”设置为是

我的查询的更新答案:我通过在 Swift Support 的 watchOS 文件夹中添加所需的框架解决了这个问题。可能是它的 Xcode 问题,它正在为我的 watchOS 创建空文件夹。遵循以下步骤

  1. 从此路径复制 watchOS lib swift 文件“?? /Applications/Xcode.app/Contents/Developer/ToolChains/XcodeDefault.xctoolchain/usr/lib/swift/?watchos?” 或者您也可以从之前成功上传的手表构建中获取框架
  2. 将复制的库粘贴到以下位置

2.1 为您的应用创建存档 -> 右键单击​​所选版本并选择在查找器中显示 -> 显示包内容 -> Swiftsupport -> watchOS/“粘贴到此处”

2.2 也按照以下路径将这些框架粘贴到框架文件夹中右键单击选定的构建并选择在查找器中显示-> 显示包内容-> 产品-> 应用程序-> 右键单击​​ipa 文件-> 显示包内容-> 观看- >右键单击您的手表应用程序 -> 显示包内容 -> 框架/“粘贴到此处”

  1. 在主应用程序目标和 watchkitapp 的构建中将“始终嵌入的 Swift 标准库”设置为是(不在扩展中)

可选步骤

如果您的 SwiftSupport->iPhoneOS 文件夹也是空的,那么只需为您的目标 c 代码创建新的 swift 文件它会要求桥休息它将为所有必需的事情做(无需将此文件与任何目标 c 连接,只需将其添加到项目中)

小智 6

我针对此问题的解决方法是:

  1. 在 Xcode -> Organizer 窗口中,创建存档后,右键单击新存档
  2. 按“在 Finder 中显示”
  3. 右键单击 Finder 中的存档
  4. 按“显示包装内容”
  5. 删除“SwiftSupport”文件夹

现在您可以提交而不会出现该错误。

我在 React Native 项目中遇到了这个问题。

我尝试了很多最流行的解决方案,例如编辑构建设置,但这些解决方案都不适合我。


Shi*_*pta 0

通过为项目中添加的所有扩展设置相同的部署目标,此问题已得到解决。

最初 RN 项目具有 11.0 部署目标,新添加的 watch 具有最新的 13.0,因此不会自动创建 swift 文件夹。全部修改为12.0后,它会自动运行,无需执行任何手动步骤。